Python 正则表达式(1)

2016-12-15  本文已影响14人  SateZheng

re模块包含对正则表达式的支持

先讲一些正则中的匹配规则

通配符 .

.可以匹配任何字符(除了换行符\n,在 DOTALL 模式中也能匹配换行符)。只能匹配一个字符

对特殊字符进行转义 \

如果想要匹配 'python.org' 可以使用 'python\\.org'

这边使用两个反斜线,一是通过解释器转义,二是通过re模块转义,建议使用原始字符串,如r'python\.org'

字符集 []

字符集可以匹配它所包含的任意字符

例:[pj]ython 匹配 pythonjython

例:[a-z] 匹配 a 到 z 所有字母(字符集只能匹配一个这样的字符)

例:[a-zA-Z0-9] 匹配任意大小写字母和数字(字符集只能匹配一个这样的字符)

反转字符集 [^]

例: [^abc] 匹配任何除了 a,b,c 之外的字符

选择符合和子模式 |

选择符:

例: 'python|perl' 匹配 python 或者 perl

子模式: 用圆括号括起来需要的部分称为子模式

例: 'p(yhon|erl)' 匹配 python 或者 perl

可选项和重复子模式 ?

可选项:在子模式的后边加上问好就变成了可选项。它可以出现在匹配字符串中,但并非是必须的。

例:r'(http://)?(www\.)?python\.org'

可以匹配到的下列字符串

'http://www.python.org'

'http://python.org'

'www.python.org'

'python.org'

重复子模式:允许子模式重复多次的运算符

例: r'w*\.python\.org' 可以匹配.python.orgw.python.orgwwwww.python.org等等等等。

字符串的开始和结尾 ^``$

只匹配开始:

例: 只想在字符串的开头而不是其他位置匹配'ht+p',可以使用'^ht+p'匹配,可以匹配到'http://python,org'等等,而不会匹配'www.http.com'.

只匹配结尾:

如果只想匹配字符串结尾,可以使用$

上一篇下一篇

猜你喜欢

热点阅读