正則表達(dá)式是由普通字符(例如字符a~z)以及特殊字符(稱為元字符)組成的文字模式。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配??梢酝ㄟ^(guò)在一對(duì)分隔符之間放入表達(dá)式模式的各種組件來(lái)構(gòu)造一個(gè)正則表達(dá)式,即/expression/。 正則表達(dá)式有多種不同的風(fēng)格。
特殊含義的元字符:
\d : 0-9之間的任意一個(gè)數(shù)字 \d只占一個(gè)位置
\w : 數(shù)字,字母 ,下劃線 0-9 a-z A-Z _
\s : 空格或者空白等
\D : 除了\d
\W : 除了\w
\S : 除了\s
. : 除了\n之外的任意一個(gè)字符
\ : 轉(zhuǎn)義字符
| : 或者
() : 分組
\n : 匹配換行符
\b : 匹配邊界 字符串的開頭和結(jié)尾 空格的兩邊都是邊界 => 不占用字符串位數(shù)
^ : 限定開始位置 => 本身不占位置
$ : 限定結(jié)束位置 => 本身不占位置
[a-z] : 任意字母 []中的表示任意一個(gè)都可以
[^a-z] : 非字母 []中^代表除了
[abc] : abc三個(gè)字母中的任何一個(gè) [^abc]除了這三個(gè)字母中的任何一個(gè)字符
次數(shù)的量詞元字符:
* : 0到多個(gè)
+ : 1到多個(gè)
? : 0次或1次 可有可無(wú)
{n} : 正好n次;
{n,} : n到多次
{n,m} : n次到m次
普通字符由所有那些未顯式指定為元字符的打印和非打印字符組成。這包括所有的大寫和小寫字母字符、所有數(shù)字、所有標(biāo)點(diǎn)符號(hào)及一些符號(hào)。 POSIX RE用于方括號(hào)外的元字符如表C-1所示。
特別字符 | 說(shuō) 明 |
$ | 匹配輸入字符串的結(jié)尾位置。如果設(shè)置了RegExp 對(duì)象的Multiline屬性,則$也匹配'\n'或'\r'。 要匹配$字符本身,請(qǐng)使用\$ |
( ) | 標(biāo)記一個(gè)子表達(dá)式的開始和結(jié)束位置。子表達(dá)式可 以獲取供以后使用。要匹配這些字符,請(qǐng)使用\(和 \) |
* | 匹配前面的子表達(dá)式零次或多次。要匹配 * 字符,請(qǐng)使用 \* |
+ | 匹配前面的子表達(dá)式一次或多次。要匹配 + 字符,請(qǐng)使用 \+ |
. | 匹配除換行符\n之外的任何單字符。要匹配 .,請(qǐng)使用 \ |
[ | 標(biāo)記一個(gè)中括號(hào)表達(dá)式的開始。要匹配 [,請(qǐng)使用 \[ |
? | 匹配前面的子表達(dá)式零次或一次,或指明一個(gè)非 貪婪限定符。要匹配 ? 字符,請(qǐng)使用 \? |
\ | 將下一個(gè)字符標(biāo)記為或特殊字符、或原義字符、 或向后引用、或八進(jìn)制轉(zhuǎn)義符。例如,“n”匹 配字符“n”。“\n”匹配換行符。序列“\\”匹 配“\”,而“\(”則匹配“(” |
^ | 匹配輸入字符串的開始位置,除非在方括號(hào)表達(dá)式 中使用,此時(shí)它表示不接受該字符集合。要匹配 ^ 字符本身,請(qǐng)使用 \^ |
{ | 標(biāo)記限定符表達(dá)式的開始。要匹配{,請(qǐng)使用\{ |
| | 指明兩項(xiàng)之間的一個(gè)選擇。要匹配|,請(qǐng)使用\| |
POSIX RE用于方括號(hào)內(nèi)的元字符,如表C-2所示。
特別字符 | 說(shuō) 明 |
\ | 轉(zhuǎn)義字符 |
^ | 非 |
- | 用于指定字符范圍 |
發(fā)表評(píng)論