Skip to content

Latest commit

 

History

History
51 lines (29 loc) · 1.19 KB

106.正则表达式.md

File metadata and controls

51 lines (29 loc) · 1.19 KB

库函数#inlcude

string a,string b //a是待匹配的串,b是正则表达式串
cout<<regex_match(a,b);  //成功返回1,失败返回0,注意在b中对于反斜杠\要是用转义字符来表示,即\b要写成\\b,\\表示\的转义字符,就是不表示它本来的意思了,只表示一个\字符

正则表达式是用来匹配字符串的,它有一系列规则

定长匹配(即一个只能匹配一个)

  1. \d可以匹配一个数字

    '00\d'可以匹配'007'

  2. \w可以匹配一个字母或数字

    '\w\w\d'可以匹配'py3'

  3. \s匹配空格

  4. .可以匹配任意的单个字符

    'py.'可以匹配'pyc''pyo''py!'等等。

变长匹配

  1. *表示任意个它前面字符(包括0个)

    通配符a*b可以匹配b,也可以aaaaaaaab

  2. +表示至少一个字符

    a+b,可以匹配ab,也可以aaaaab

  3. ?表示0个或1个字符

    a?b,可以匹配ab,或者b

  4. {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个数字