在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
常用元字符 | |
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
常用限定符 | |
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
常用反义词 | |
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
方括号[]表达式 | ||
[] |
| 匹配[]中任一字符 |
[a-z0-9] | 范围内的任一字符 |
|
[^asd] | 不在[]中的任一字符 |
|
[as&&[asd]] | [as] | 匹配交集中的字符 |
[as[df]] | [asdf] | 匹配并集中的字符 |
这里提供几个例子:
日期:\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}
国内手机号码: 0?(13|14|15|17|18|19)[0-9]{9}
中文字符:[\u4e00-\u9fa5]
提供一个网站,这里提供了常用的正则表达式表达方法
python的正则表达式规则