正则表达式

Character classes(匹配字符)

. :除换行符外的任何字符

w d s :匹配单词,数字,空格

W D S: 匹配非单词,数字,空格

[abc] :匹配a,b或c中的任何一个

[^ abc]: 匹配非a,b或c

[a-g] : 匹配a和g之间的字符

 例子:

表达式:[aeiou]   验证字符:glib jocks vex dwarves!    匹配结果:i o e a e

表达式:[^aeiou]  验证字符: glib jocks vex dwarves!  匹配结果:g l b j c k s v x d w r v s !

表达式:[g-s]       验证字符:abcdefghijklmnopqrstuvwxyz 匹配结果:g h i j k l m n o p q r s

表达式:.             验证字符:glib jocks vex dwarves!       匹配结果:glib jocks vex dwarves!

表达式:[sS]   验证字符:glib jocks vex dwarves!  匹配结果:glib jocks vex dwarves!

表达式:w     验证字符:bonjour, mon frère      匹配结果:bnjour monfrre

匹配数字:

 

匹配非数字:

匹配空格:

 匹配非空格:

Anchors(匹配位置)

^abc$:字符串的开始/结尾

 B:单词,非单词边界

 例子:

表达式:^w+  验证字符:she sells seashells  匹配结果:she

表达式:w+$  验证字符:she sells seashells  匹配结果:seashells

表示式:s     验证字符:she sells seashells  匹配结果:s s

 匹配非单词边界的任何位置。这匹配一个位置,而不是一个字符:

Escaped characters(匹配转义字符)

.  *  \  转义了特殊字符

    标签,换行符,回车符

例子:

匹配.:

匹配+:

Groups & Lookaround(匹配组合)

(abc):匹配组合

    1:反向引用组合中的元素,元素位置为#1

 例子:

 

 

Quantifiers & Alternation(量词,懒惰和可选)

*,+,?:0或更多,1或更多,0或1

a {5} ,a {2,}(贪婪的,默认匹配最多):正好5个,2个或更多

a{1,3} :1和3之间

ab | cd() :匹配ab或cd

colou?r(可选):0或者1个

a {2,}?(懒惰):尽可能少地匹配

例子:

 

 

参考网站:https://regexr.com/

原文地址:https://www.cnblogs.com/crelle/p/13966032.html