准备说明:
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.总结
^和$是强制要求表达式开头和结尾字符的匹配,在复制情况下限定可以加快正则表达式的运行速度。