什么是正则表达式?
用一个字符串来描述一个特征,然后去验证另外一个字符串是否符合这个特征。如验证输入的邮箱格式是否规范;查找字符串;等。
简单匹配
pattern |
describe |
? |
0-1个字符 |
* |
0-多个字符 |
+ |
1-多个字符 |
. |
除了换行符的所有字符 |
{n} |
匹配n个字符 |
{m,n} |
匹配m-n个字符 |
{n,} |
匹配n-多个字符 |
\d |
|
{0-9} |
数字 |
\w |
字母,下划线 |
\W |
非数字和下划线 |
{a-zA-Z} |
字母 |
\s |
空格,制表符,换页符等空白字符的任意一个 |
[aqz^] |
匹配’a’,’q’,’z’,’^’字符 |
^ |
匹配开头 |
$ |
匹配结尾 |
匹配(Python 为例)
- 匹配电话号码
1 2 3 4 5 6 7 8 9
| import re
pattern = '^0\d{2,3}-?\d{7,8}$' str = '010-1234567' result = re.match(pattern,str) print(result)
|
- 匹配包含的所有特定字符
1 2 3 4 5 6 7 8 9
| import re
pattern = r'\wa\w' str = 'fapjachahahhac' result = re.findall(pattern, str) print(result)
|
- 拆分:
1 2 3 4 5 6 7 8 9
| import re
pattern = r'\s+' str = 'hello Tony , Sweet Wednesday' result = re.split(pattern, str) print(result)
|
TonyChenn
2018.11.21