標籤:匹配 表單 Regex 文法規則 分行符號 擷取的群組 *** har 文法
匹配文法:
使用單個字串來描述,匹配一系列符合某文法規則的字串
/ 做為轉意,即通常在"\"後面的字元不按原來意義解釋,如/b/匹配字元"b",當b前面加了反斜杆後/\b/,轉意為匹配一個單詞的邊界。
-或-
對Regex功能字元的還原,如"*"匹配它前面元字元0次或多次,/a*/將匹配a,aa,aaa,加了"\"後,/a\*/將只匹配"a*"。
^匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a"
$匹配一個輸入或一行的結尾,/a$/匹配"An a",而不匹配"an A"
*匹配前面元字元0次或多次,/ba*/將匹配b,ba,baa,baaa
+匹配前面元字元1次或多次,/ba*/將匹配ba,baa,baaa
?匹配前面元字元0次或1次,/ba*/將匹配b,ba
(xt)擷取的群組
x|y匹配x或y
{n}精確匹配n次
{n,}匹配n次以上
{n,m}匹配n-m次
代表單個字元的正則表達:
[xyz]字元集(character set),匹配這個集合中的任一一個字元(或元字元)*** 是一個字元,不是任意子串
[^xyz]不匹配這個集合中的任何一個字元
[xyz&&x] 交集 只匹配交集的部分 例子 只有x 符合
[\b]匹配一個退格符
\b匹配一個單詞的邊界
\B匹配一個單詞的非邊界
\cX這兒,X是一個控制符,/\cM/匹配Ctrl-M
\d匹配一個字數字元,/\d/ = /[0-9]/
\D匹配一個非字數字元,/\D/ = /[^0-9]/
\n匹配一個分行符號
\r匹配一個斷行符號符
\s匹配一個空白字元,包括\n,\r,\f,\t,\v等
\S匹配一個非空白字元,等於/[^\n\f\r\t\v]/
\t匹配一個定位字元
\v匹配一個重直定位字元
\w匹配一個可以組成單詞的字元(alphanumeric,這是我的意譯,含數字),包括底線,如[\w]匹配"$5.98"中的5,等於[a-zA-Z0-9]
\W匹配一個不可以組成單詞的字元,如[\W]匹配"$5.98"中的$,等於[^a-zA-Z0-9]。
java知識總結-25