经常使用正则表达式


与除 \n 之外的任何字符匹配。若是经过 Singleline 选项(请参阅正则表达式选项)进行了修改,则句点字符与任何字符匹配。 

[aeiou] 
与指定字符集中包含的任何单个字符匹配。 

[^aeiou] 
与不在指定字符集中的任何单个字符匹配。 

[0-9a-fA-F] 
使用连字号 (–) 容许指定连续字符范围。 

\p{name} 
与 name 指定的命名字符类中的任何字符匹配。支持的名称为 Unicode 组和块范围。例如 Ll£?Nd£?Z£?IsGreek£?IsBoxDrawing。 

\P{name} 
与在 {name} 中指定的组和块范围中未包含的文本匹配。 

\w 
与任何单词字符匹配。等效于 Unicode 字符类别 
[\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。若是经过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \w 等同于 [a-zA-Z_0-9]。 

\W 
与任何非单词字符匹配。等效于 Unicode 类别 [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。若是经过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \W 等同于 [^a-zA-Z_0-9]。 

\s 
与任何空白字符匹配。等效于 Unicode 字符类别 [\f\n\r\t\v\x85\p{Z}]。若是经过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \s 等同于 [ \f\n\r\t\v]。 

\S 
与任何非空白字符匹配。等效于 Unicode 字符类别 [^\f\n\r\t\v\x85\p{Z}]。若是经过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \S 等同于 [^ \f\n\r\t\v]。 

\d 
与任何十进制数字匹配。与 Unicode 的 \p{Nd} 和非 Unicode 的 [0-9] 以及 ECMAScript 行为同样。 

\D 
与任何非数字匹配。与 Unicode 的 \P{Nd} 和非 Unicode 的 [^0-9] 以及 ECMAScript 行为同样。 

指定零个或更多个匹配;例如 \w* 或 (abc)*。与 {0,} 相同。 


指定一个或多个匹配;例如 \w+ 或 (abc)+。与 {1,} 相同。 


指定零个或一个匹配;例如 \w? 或 (abc)?。与 {0,1} 相同。 

{n} 
指定刚好 n 个匹配;例如 (pizza){2}。 

{n,} 
指定至少 n 个匹配;例如 (abc){2,}。 

{n,m} 
指定至少 n 个但很少于 m 个匹配。 

*? 
指定尽量少地使用重复的第一个匹配 (lazy *)。 

+? 
指定尽量少地使用重复但至少使用一次 (lazy +)。 

?? 
指定使用零次重复(若有可能)或一次重复 (lazy ?)。 

{n}? 
等效于 {n} (lazy {n})。 

{n,}? 
指定尽量少地使用重复,但至少使用 n 次 (lazy {n,})。 

{n,m}? 
指定介于 n 次和 m 次之间、尽量少地使用重复 (lazy {n,m})。
原子零宽度断言 
断言 
说明 


指定匹配必须出如今字符串的开头或行的开头。有关更多信息,请参阅正则表达式选项中的 Multiline 选项。 


指定匹配必须出如今如下位置:字符串结尾、字符串结尾的 \n 以前或行的结尾。有关更多信息,请参阅正则表达式选项中的 Multiline 选项。 

\A 
指定匹配必须出如今字符串的开头(忽略 Multiline 选项)。 

\Z 
指定匹配必须出如今字符串的结尾或字符串结尾的 \n 以前(忽略 Multiline 选项)。 

\z 
指定匹配必须出如今字符串的结尾(忽略 Multiline 选项)。 

\G 
指定匹配必须出如今当前搜索开始的位置(此位置一般是上一次搜索结束位置以后的第一个字符)。例如,请考虑一个由分离的字符组组成的串联字符串,其中每一组的长度都为 n 个字符。在每一个字符组中搜索匹配时,若是正则表达式在 0、n、2n、3n 等字符位置找到匹配,则该正则表达式成功。仅当匹配出如今定位组边界上时才会成功。 

\b 
指定匹配必须出如今 \w(字母数字)和 \W(非字母数字)字符之间的边界上。匹配必须出如今单词边界上,即出如今由空格分隔的单词中第一个或最后一个字符上。 

\B 
指定匹配不得出如今 \b 边界上。 

 

经常使用正则式正则表达式

 

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql语句:^(select|drop|delete|create|update|insert).*$

一、非负整数:^\d+$ 

二、正整数:^[0-9]*[1-9][0-9]*$ 

三、非正整数:^((-\d+)|(0+))$ 

四、负整数:^-[0-9]*[1-9][0-9]*$ 

五、整数:^-?\d+$ 

六、非负浮点数:^\d+(\.\d+)?$ 

七、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 

八、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 

九、负浮点数:^(-((正浮点数正则式)))$ 

十、英文字符串:^[A-Za-z]+$ 

十一、英文大写串:^[A-Z]+$ 

十二、英文小写串:^[a-z]+$ 

1三、英文字符数字串:^[A-Za-z0-9]+$ 

1四、英数字加下划线串:^\w+$ 

1五、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 

1六、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

1七、邮政编码:^[1-9]\d{5}$

1八、中文:^[\u0391-\uFFE5]+$

1九、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

2一、双字节字符(包括汉字在内):^\x00-\xff

2二、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

2三、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/> 

2四、匹配空行:\n[\s| ]*\r

2五、提取信息中的网络连接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

2六、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

2七、提取信息中的图片连接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

2八、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

2九、提取信息中的中国手机号码:(86)*0*13\d{9}

30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

3一、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

3二、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

3三、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

3四、提取信息中的任何数字 :(-?\d*)(\.\d+)? 

3五、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

3六、电话区号:/^0\d{2,3}$/

3七、腾讯QQ号:^[1-9]*[1-9][0-9]*$

3八、账号(字母开头,容许5-16字节,容许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

3九、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$sql

相关文章
相关标签/搜索