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
延伸文章資訊
- 1java.util.regex正規式的應用:Pattern和Matcher - 符碼記憶
在java 1.4之後Regular Expression正式被java所支援, 若你使用Eclipse來開發Java,下面這兩個套件可在Eclipse中幫助你測試你的Regular Expre...
- 2Java 中的正規表示式特殊字元 - Delft Stack
正規表示式是一種表示文字匹配模式的文字語法。正規表示式使用特殊字元,例如 . 、 + 、 * 、 ? 、 ^ 、 ...
- 3十五分鐘認識正規表達式,解決所有文字難題
正規表達式(Regular Expression),是一種用來描述字串 符合某個語法規則 的模型(pattern),可以用來做文字的搜尋、比對、萃取、替代、轉換等等,在 ...
- 4Java Regular Expression的學習筆記 - JWorld@TW Java論壇
Java 技巧文件- Java Regular Expression的學習筆記. ... x : 一個字元,例如"a" 表示要找含有這個字元的部分。 [abc] : 這個字元可能是a或b或c
- 5Java 正則表達式
正則表達式定義了字符串的模式。 正則表達式可以用來搜索、編輯或處理文本。 正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。 Java正則表達式和Perl ...