正則表達(dá)式的() [] {}有不同的意思允跑。
() 是為了提取匹配的字符串凡恍。表達(dá)式中有幾個(gè)()就有幾個(gè)相應(yīng)的匹配字符串霹琼。
()用于捕獲匹配的字符串,比如:a(.*?)b捕獲a和b之間的任何字符(除了換行符外)
圓括號(hào)可以用來(lái)定義操作符的范圍和優(yōu)先度点额。例如咪啡,“gr(a|e)y”等價(jià)于“gray|grey”
而且()還用于括起正則表達(dá)式中的小組坷随,比如:^(a|b).*$匹配以a或b開頭的任何字符串
(\s*)表示連續(xù)空格的字符串房铭。
[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字温眉。[\s*]表示空格或者*號(hào)缸匪。
{}一般用來(lái)表示匹配的長(zhǎng)度,比如 \s{3} 表示匹配三個(gè)空格类溢,\s[1,3]表示匹配一到三個(gè)空格凌蔬。
(0-9) 匹配 '0-9′ 本身露懒。 [0-9]* 匹配數(shù)字(注意后面有 *,可以為空)[0-9]+ 匹配數(shù)字(注意后面有 +砂心,不可以為空){1-9} 寫法錯(cuò)誤懈词。
[0-9]{0,9} 表示長(zhǎng)度為 0 到 9 的數(shù)字字符串。
[xyz]字符集合(character class)辩诞。匹配所包含的任意一個(gè)字符坎弯。例如,“[abc]”可以匹配“plain”中的“a”译暂。特殊字符僅有反斜線\保持特殊含義抠忘,用于轉(zhuǎn)義字符。其它特殊字符如星號(hào)外永、加號(hào)崎脉、各種括號(hào)等均作為普通字符。脫字符^如果出現(xiàn)在首位則表示負(fù)值字符集合伯顶;如果出現(xiàn)在字符串中間就僅作為普通字符囚灼。連字符 - 如果出現(xiàn)在字符串中間表示字符范圍描述;如果如果出現(xiàn)在首位則僅作為普通字符
“z|food”能匹配“z”或“food”砾淌±泊椋“(z|f)ood”則匹配“zood”或“food”谭网。