Java 中的正規表示式特殊字元 - Delft Stack
文章推薦指數: 80 %
正規表示式是一種表示文字匹配模式的文字語法。
正規表示式使用特殊字元,例如 . 、 + 、 * 、 ? 、 ^ 、 ...
Java貼士
如何在Java中以十六進位制字串轉換位元組陣列
如何在Java中執行字串到字串陣列的轉換
如何在Java中將整型int轉換為字元char
如何在Java中從檔案中刪除換行符
如何在Java中按日期對ArrayList中的物件進行排序
如何在Java中比較兩個日期
如何在Java中為日期增加一天
如何在Java中連線兩個陣列
reportthisad
貼士文章
Java貼士
Java中的正規表示式特殊字元
Java正規表示式中的特殊字元
在Java中使用正規表示式特殊字元的示例
Regex(正規表示式)是用於操作、搜尋和處理文字字串的有用工具。
它簡化並減少了程式中的行數。
我們將看看如何在正規表示式中使用特殊字元。
Java正規表示式中的特殊字元
正規表示式是一種表示文字匹配模式的文字語法。
正規表示式使用特殊字元,例如.、+、*、?、^、$、(、)、[、]、{、}、|、\。
正規表示式中的字元(字串中表示其模式的字元)要麼是具有特殊含義的元字元,要麼是具有字面含義的常規字元。
元字元
用途
例子
^
字串或否定符號的開頭
^a匹配字串開頭的a
.
匹配除換行符以外的任何單個字元
a.[0-9]匹配a字串,該字串具有a後跟一個字元和一個數字
[]
匹配括號中包含的單個字元的括號表示式
[a-c]等於a或b或c,即a\|b\|c也[abc]
[^]
匹配未包含在括號中的單個字元
[^abc]匹配除a、b或c以外的任何字元
$
隊伍的盡頭
^abc$匹配以abc開頭和結尾的字串
()
分組字元
(ab)\1匹配abab
*
匹配前面的元素或零次或多次
ab*c匹配ac、abc、abbbc等。
{m,n}
匹配前面的元素至少m次且不超過n次
a{3,5}匹配aaa,aaaa,aaaaa
?
匹配前面的元素零次或一次
ab?c匹配ac,abc
+
匹配前面的元素一次或多次
ab+c匹配abc、abbc、abbbc等,但不匹配ac
\|
選擇運算子,它匹配運算子`\之前的表示式或之後的表示式
`
\
轉義或反斜槓
常見的轉義序列,如\n或換行符,\t用於製表符
在Java中使用正規表示式特殊字元的示例
在這個例子中,我們使用了java.util.regex包中的Pattern和Matcher類。
Pattern類表示正規表示式。
當我們建立Pattern類的例項時,我們將正規表示式作為字串傳遞。
這裡我們有一個正規表示式regex_pattern作為字串。
此模式用於檢查密碼是否符合以下條件。
密碼中必須包含至少一位[0-9]。
密碼中至少需要一個小寫字元[a-z]。
密碼中至少需要一個大寫字元[A-Z]。
至少一個特殊字元,如!@#&(),必須包含在密碼中。
密碼長度必須至少為8個字元且不超過24個字元。
compile()方法從指定的正規表示式建立一個模式。
稍後我們將使用此模式製作一個Matcher物件。
該模式可以使用Matcher物件與正規表示式的任何字元序列匹配。
matcher方法建立一個匹配器,將給定的輸入與模式匹配。
我們將兩個字串與模式匹配並列印輸出(matches()方法返回的布林值)。
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassRegexTest{
publicstaticvoidmain(String[]args){
Stringregex_pattern=
"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#&()–[{}]:;',?/*~$^+=<>]).{8,24}$";
Patternpattern=Pattern.compile(regex_pattern);
StringinputPassword1="Password1@@1990";
StringinputPassword2="Pass190";
Matchermatcher1=pattern.matcher(inputPassword1);
Matchermatcher2=pattern.matcher(inputPassword2);
System.out.println("Password1matchespattern:"+matcher1.matches());
System.out.println("Password2matchespattern:"+matcher2.matches());
}
}
輸出:
Password1matchespattern:true
Password2matchespattern:false
相關文章-JavaRegex
Java中的字串匹配正規表示式
Java中的正規表示式空格
在Java中使用\s
Java中的帕斯卡三角形Java中的正規表示式空格
reportthisad
xx
延伸文章資訊
- 1語言實作:Regex
不同的需求使用各自的Regexp 方法。 Match 比對 · Regexp 實例. 參考資料. 精通正規表達式 · VerbalExpressions · Expression · Unico...
- 2java.util.regex正規式的應用:Pattern和Matcher - 符碼記憶
在java 1.4之後Regular Expression正式被java所支援, 若你使用Eclipse來開發Java,下面這兩個套件可在Eclipse中幫助你測試你的Regular Expre...
- 3正則表示式(Regular expression) @ Penguin 工作室 - 隨意窩
- 4Java 正則表達式
正則表達式定義了字符串的模式。 正則表達式可以用來搜索、編輯或處理文本。 正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。 Java正則表達式和Perl ...
- 5Java 中的正規表示式特殊字元 - Delft Stack
正規表示式是一種表示文字匹配模式的文字語法。正規表示式使用特殊字元,例如 . 、 + 、 * 、 ? 、 ^ 、 ...