主题
正则表达式使用说明
正则表达式(regex)是计算机科学中的一个重要概念,它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。以下是关于正则表达式的一些基本教程内容:
元字符和限定符
\d
:匹配一个数字。\d+
:匹配一个或多个连续数字。\d{2}
:匹配恰好两位数字。\d{5,12}
:匹配5到12位数字。*
:前边的元素可以连续重复使用任意次。+
:前边的元素至少出现一次。?
:前边的元素最多出现一次。{}
:用于指定匹配的次数。\
:用作转义字符,例如*匹配*字符本身。
字符集合
[abc]
:匹配集合中的任意一个字符。[^abc]
:匹配不在集合中的任意字符。[a-z]
:匹配任意小写字母。[a-zA-Z]
:匹配任意字母。[a-c[m-q]]
:匹配并集中的任意字符。
预定义字符类
.
:匹配任何字符(除了换行符)。\s
:匹配任何空白字符,包括空格、制表符、换行符等。\S
:匹配任何非空白字符。\d
:匹配任何数字,等价于[0-9]
。\D
:匹配任何非数字字符。\w
:匹配任何单词字符,等价于[a-zA-Z0-9_]
。\W
:匹配任何非单词字符。
示例
hello
匹配{hello}
gray|grey
匹配{gray, grey}
gr(a|e)y
匹配{gray, grey}
gr[ae]y
匹配{gray, grey}
b[aeiou]bble
匹配{babble, bebble, bibble, bobble, bubble}
[b-chm-pP]at|ot
匹配{bat, cat, hat, mat, nat, oat, pat, Pat, ot}
colou?r
匹配{color, colour}
rege(x(es)?|xps?)
匹配{regex, regexes, regexp, regexps}
go*gle
匹配{ggle, gogle, google, gooogle, goooogle, ...}
go+gle
匹配{gogle, google, gooogle, goooogle, ...}
g(oog)+le
匹配{google, googoogle, googoogoogle, googoogoogoogle, ...}
z{3}
匹配{zzz}
z{3,6}
匹配{zzz, zzzz, zzzzz, zzzzzz}
z{3,}
匹配{zzz, zzzz, zzzzz, ...}
[Bb]rainf\*\*k
匹配{Brainf**k, brainf**k}
\d
匹配{0,1,2,3,4,5,6,7,8,9}
1\d{10}
匹配 11 个数字,以 1 开头[2-9]|[12]\d|3[0-6]
匹配 2 到 36 范围内的整数