Skip to main content

Python正则表达式

Python正则表达式

Python正则表达式

知识点一:正则表达式使用方式

>>> import re
>>> m = re.search('(?<=abc)def', 'abcdef')
>>> m.group()
'def'
>>> m.group(0)
'def'

(?<=abc)def ,并不是从a开始搜索,而是从d往回看的

>>> m = re.search('(?<=-)\w+', 'email-address')
>>> m.group(0)
'address'
>>>

这个例子搜索一个跟随在连字符(-)后的单词

具体的正则使用方式可以参考官网:https://docs.python.org/zh-cn/3/library/re.html

知识点二:正则表达式对象

将正则表达式的样式编译为一个正则表达式对象,可以让程序更加高效

prog = re.compile(pattern)
results = prog.match(string)

等价于

result = re.match(pattern, string)

 

知识点三:search() vs. match()

re.search()检查字符串的任意位置,re.match()检查字符串开头

>>> re.match("c", "abcded") # no match
>>> re.search("c", "abcdef") # match
<re.Match object; span=(2, 3), match='c'>
>>>

search()中,可以使用^作为开始来限制匹配到字符串的首位

>>> re.match("c", "abcdef") # no match
>>> re.search("^c", "abcdef") # no match
>>> re.search("^a", "abcdef") # match
<re.Match object; span=(0, 1), match='a'>
>>>
版权声明

版权声明

张大鹏 创作并维护的 Walkerfree 博客采用 创作共用保留署名-非商业-禁止演绎4.0国际许可证。本文首发于 Walkerfree 博客(http://www.walkerfree.com/),版权所有,侵权必究。本文永久链接:http://www.walkerfree.com/article/182