库函数#inlcude
string a,string b //a是待匹配的串,b是正则表达式串
cout<<regex_match(a,b); //成功返回1,失败返回0,注意在b中对于反斜杠\要是用转义字符来表示,即\b要写成\\b,\\表示\的转义字符,就是不表示它本来的意思了,只表示一个\字符
正则表达式是用来匹配字符串的,它有一系列规则
定长匹配(即一个只能匹配一个)
-
\d
可以匹配一个数字'00\d'
可以匹配'007'
-
\w
可以匹配一个字母或数字'\w\w\d'
可以匹配'py3'
; -
\s
匹配空格 -
.
可以匹配任意的单个字符'py.'
可以匹配'pyc'
、'pyo'
、'py!'
等等。
变长匹配
-
*
表示任意个它前面字符(包括0个)通配符
a*b
可以匹配b,也可以aaaaaaaab -
用
+
表示至少一个字符a+b,可以匹配ab,也可以aaaaab
-
用
?
表示0个或1个字符a?b,可以匹配ab,或者b
-
用
{n}
表示n个字符,用{n,m}
表示n~m个字符,注意是n到m不是n-m
看一个复杂的\d{3}\s+\d{3,8}
从左往右
\d{3}可以匹配3个数字
\s+匹配至少一个空格
\d{3,8}匹配3~8个数字