python使用正则表达式
2017-06-11 本文已影响1人
宁静消失何如
正则表达式
电话号
目标:
了解 :
(0)\w
匹配 一个字母或者数字
(1)\d
只匹配数字
(2)\s
至少匹配一个空格 同理"\_","\-"
分别匹配 下划线 _ 和连字符 -
例如:\w\w\w\d
可以匹配出 qde2 dog2 2g532 等
(3).
可以匹配任意字符
例如 python.
可以匹配为: python3 python2 等
(4)匹配字符的个数:
```*``` 匹配 任意个字符(可以为0)
```+``` 表示至少一个字符
```?``` 表示1或者0个字符
```{n}``` 表示 n个
```{n-m}``` 表述 n-m个
例如:```\d{2}\d{1-3}\s+\w*``` 可以匹配:32345 f3
(5)如何精确用到[]
例如:[a-dA-D\-\_]
可以输出 a,b,c,A,C,D,,-中的一个字符
[a-dA-D\-\_]+
可以输出 a,b,c,A,C,D,,-中的多个字符 例如:aaBD-\
(6) a|b
表示匹配a或者b 例如 P|python
表示 Python或者python
(7) ^
表示行的开始 $
表示行的结束
例如:py
可以匹配到"python" 如果改成^py$
只能匹配到"py"
正则表达式=模式匹配
1.特殊字符
regtest正则表达式
index索引
例子 匹配电话号
电话号
补充一些用法
# .任何字符 *任意次数
# $结尾字符a
# ?非贪婪匹配 表示1或者0个字符
# 贪婪匹配 从右边匹配 非贪婪是从左边
# +至少出现一次
# . 和任意字符就没有特殊含义
# \s 表示空格 /S除了空格都可以
# \w字符包括(A-Za-z0-9_)出现任何都可以 \W相反
# \u4E00-\u9FA5 匹配汉字
# \d数字
# | 匹配两边都可以