1.常見的正規表示式符號
表示法描述
正規表示式示例
literal
匹配文字字串的字面值literal
foo
re1|re2
匹配正規表示式re1
或者re2
foo|bar
.匹配任何字元(除了\n之外)
b.b^
匹配字串起始部分
^dear
$匹配字串終止部分
/bin/*sh$
*匹配0次或者多次前面出現的正規表示式
[a-za-z0-9]*
+匹配1次或者多次前面出現的正規表示式
[a-z]+.com
?匹配0次或者1次前面出現的正規表示式
goo?
匹配n次前面出現的正規表示式
[0-9]
匹配m~n次前面出現的正規表示式
[0-9]
[…]匹配來自字符集的任意單一字元
[aeiou]
[…x-y…]
匹配x~y範圍中的任意單一字元
[0-9],[a-za-z]
[^…]
不匹配此字符集**現的任何乙個字元,包括某一範圍的字元(如果在此字符集**現)
[aeiou],[a-za-z0-9]
(*|+|?|{})?
用於匹配上面頻繁出現/重複出現符號的非貪婪版本(* 、+、?、{})
.*?[a-z]
(…)匹配封閉的正規表示式,然後另存為子組
([0-9])?
,f(oo|u)bar
2.正規表示式的特殊字元
表示式描述
正規表示式示例
\d匹配任何十進位制數字,與[0-9]一致(\d與\d相反,不匹配任何非數值型的數字)
data\d+.txt
\w匹配任何字母數字字元,與[a-za-z0-9_]相同(\w與之相反)
[a-za-z_]\w+
\s匹配任何空格字元,與[\n\t\r\v\f]相同(\s與之相反)
of\sthe
\b匹配任何單詞邊界(\b與之相反)
\bthe\b
\n匹配已儲存的子組n
price:\16
\c逐字匹配任何特殊字元c(即,僅按照字面意義匹配,不匹配特殊含義)
.,\,*
\a(\z)
匹配字串的起始(結束)
\adear
3.正規表示式的擴充套件表示法
表示法描述
正規表示式示例
匹配的字串
(?ilmsux)
在正規表示式中嵌入乙個或者多個特殊「標記」引數(或者通過函式/方法)
(?x),(? im)
(?:…)
表示乙個匹配不用儲存的子組
(?:\w+.)*
(?p…)
像乙個僅有name標識而不是數字id標識的正則分組匹配
(?p)
(?p=name)
在同乙個字串中匹配由(?p(?p=data)
(?#…)
表示注釋,所有內容都被忽略
(?#comment)
(?=…)
匹配條件是如果…出現在之後的位置,而不使用輸入字串;稱作正向前視斷言
(?.com)
如果乙個字串後面跟著".com"才做匹配操作,並不使用任何目標字串
(?!..)
匹配條件是如果…不出現在之後的位置,而不使用輸入字串;稱作負向前視斷言
(?!.net)
如果乙個字串後面不是跟著".net"才做匹配操作
(?<=…)
匹配條件是如果…出現在之前的位置,而不使用輸入字串;稱作正向後視斷言
(?<=800-)
如果字串之前為"800-"才做匹配
(?匹配條件是如果…不出現在之前的位置,而不使用輸入字串;稱作負向後視斷言
(?如果乙個字串之前不是"192.168."才做匹配操作
(?(id/name)y|n)
如果分組所提供的id或者name(稱)存在,就返回正規表示式的條件匹配y,否則就返回n
(?(1)y|x)
正規表示式特殊符號
首先是正規表示式的特殊符號 alnum 代表英文大小寫字母及數字 alpha 代表英文大小寫字母 blank 代表空格和 tab 鍵 cntrl 鍵盤上的控制按鍵,如 cr,lf,tab,del digit 代表數字 graph 代表空白字元以外的其他 lower 小寫字母 print 可以被列印出...
正規表示式的特殊符號
特殊符號 代表意義 alnum 代表英文大小寫字元及數字,即0 9 a z a z alpha 代表任何英文大小寫字元,即a z a z blank 代表空格鍵與tab鍵兩者 cntrl 代表鍵盤上面的控制按鍵,即cr tab del等 digit 代表數字,即0 9 graph 除了空格符 空格鍵...
正規表示式的特殊符號和字元詳細解析
正規表示式的特殊符號和字元,即所謂的元字元,它給了正規表示式強大的功能和靈活性,下面列出常見的符號和字元。表示法描述 正規表示式例項 字元literal 匹配文字字串的字面值literal foore1 re2 匹配正冊表示式re1或者re2 foo bar 匹配任何字元 除了 n之外 b。b 匹配...