正則筆記

\ 轉(zhuǎn)義
^ 匹配開(kāi)頭
$ 匹配結(jié)尾
星號(hào):“*” 零次或多次匹配
? 零次或一次匹配
加號(hào) :“+” 一次或多次匹配
點(diǎn):. 匹配除"\r\n"之外的任何單個(gè)字符。
{n} 匹配n次
{n,} 至少匹配n次
{n,m} 至少n次,最多m次
x|y 匹配 x 或 y
[xyz] 字符集,必須全包括
[^xyz] 反向字符集
[a-z] 字符范圍
[^a-z] 反向字符范圍
\b 匹配一個(gè)字邊界,即字與空格間的位置。例如,"er\b"匹配"never"中的"er",但不匹配"verb"中的"er"
\B 非字邊界匹配。"er\B"匹配"verb"中的"er",但不匹配"never"中的"er"。
\d 數(shù)字字符匹配。等效于 [0-9]
\f 換頁(yè)符匹配。等效于 \x0c 和 \cL。
\n 換行符匹配。等效于 \x0a 和 \cJ。
\r 匹配一個(gè)回車符。等效于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、換頁(yè)符等。與 [ \f\n\r\t\v] 等效。
\S 匹配任何非空白字符。與 [^ \f\n\r\t\v] 等效。
\w 匹配任何字類字符,包括下劃線。與"[A-Za-z0-9_]"等效。
\W 與任何非單詞字符匹配。與"[^A-Za-z0-9_]"等效。

最簡(jiǎn)單就是每個(gè)都用()包裹起來(lái)

//eg1:匹配滿足的
String pattern = "(^abc)(cde$)";
Pattern compile = Pattern.compile(pattern);
Matcher matcher = compile.matcher("abcdefgcde");
boolean b = matcher.find(); //是否有滿足正則的
if (b){
int i = matcher.groupCount(); //獲取滿足的數(shù)量
String group = matcher.group(0);//全值 abcdefgcde
String group1 = matcher.group(1); //第一個(gè)滿足的
}

//eg2: 全值比較
Pattern.matches("^(abc)\d{7}", "abc48446541")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容