python正则表达式匹配开头,正则表达式系列(一):匹配开头与结尾

  • Post author:
  • Post category:python


准备说明:

1.实例中正则表达式来源于《精通正则表达式》一书

2.正则表达式实现方式为Python3.7

1.匹配开头

表达式”cat”可以匹配cat和wcat,^符会强制要求表达式从字符串开头匹配,”^cat”可以匹配cat,但不能匹配wcat。>>> s = “wcat”

>>> re.search(r”cat”, s)

>>> re.search(r”^cat”, s)

>>>

2.匹配结尾

与匹配开头类似,”foo”可以配foo和foobar,$符会强制要求表达式结尾字符匹配成功,”foo$”可以匹配foo,但不能匹配foobar。>>> s = “foobar”

>>> re.search(r”foo”, s)

>>> re.search(r”foo$”, s)

>>>

3.MULTILINE 模式

在MULTILINE模式下,开头匹配^和结尾匹配$会有一些变化。^可以匹配换行后字符,$可以配换行前字符。>>> s = “w\ncat”

>>> re.search(r”^cat$”, s)

>>> re.search(r”^cat$”, s, re.MULTILINE)

4.完整示例import re

“””

行的起始与结束

“””

def main():

s = ‘scat’

pattern = re.compile(‘^\wcat$’)

match = re.match(pattern, s)

print(match)

s = “s\ncat”

m = re.search(r”^cat$”, s, re.MULTILINE)

print(m)

if __name__ == ‘__main__’:

main()

5.总结

^和$是强制要求表达式开头和结尾字符的匹配,在复制情况下限定可以加快正则表达式的运行速度。