正規表示式 1 特殊符號和字元

2021-09-24 02:00:48 字數 2174 閱讀 4059

1.常見的正規表示式符號

表示法描述

正規表示式示例

literal匹配文字字串的字面值literalfoo

re1|re2匹配正規表示式re1或者re2foo|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 匹配...