常用元字符
字符 | 作用 | 例子 |
---|---|---|
. | 匹配任一字符 | w.a可以匹配waa/w1a/… |
\w | 匹配字母或数字或下划线或汉字 | ![]() |
\s | 匹配任意空白字符(包括换行等) | ![]() |
\d | 匹配任意数字 | ![]() |
\b | 匹配单词的开始或结束 | \bHello\b |
^ | 匹配字符串的开始 | ^Harry |
$ | 匹配字符串的结束 | \d$表示一定要以数字结束 |
这些通配字符的结合使用能表示各种形式
例如:
‘00\d’可以匹配’007’,但无法匹配’00a’…
特别要注意,’*‘和’?'是可以匹配0个的
而这些字母如果改成大写他们的效果就由之前的匹配什么–>不匹配什么
例如:
\W----->匹配任意不是字母、数字、下划线、汉字的字符
\S------>匹配任意不是空白符的字符
\D------>匹配任意非数字的字符
这里有个比较特别,就是^如果出现在范围中括号里’[]’,则它代表的是不匹配这几个范围的字符
例如:
[^x] -------> 匹配除了x以外的任意字符
[^a-zA-Z0-9_]----------->匹配除了字母,数字,下划线以外的字符
而re中提取中文限定范围一般为
[\u4e00-\u9fa5]
限定字符
符号 | 作用 | 示例 |
---|---|---|
* | 重复零次或多次前面出现的正则表达式 | [A-Za-z0-9]* |
+ | 重复一次或多次前面出现的正则表达式(≥1) | [a-z]+.com |
? | 重复零次或一次前面出现的正则表达式(0或1) | go? |
{n} | 重复n次前面出现的正则表达式 | [0-9]{3} |
{m,n} | 重复m到n次前面出现的正则表达式 | [0-9]{5,9}先从9开始匹配,长度不够9的时候,匹配8个长度,以此类推 |
[union] | 匹配中括号内的任意字符 | [a-zA-Z0-9] |