Differences between Match and Search

Match与Search区别

       Match与Search都是进行匹配。但Match是从string的0位置开始匹配,若初始位置匹配不成功,则报错。而Search是扫描整个string然后查找匹配。具体参考下图。
       匹配字符串中是否有连续8-20位的字母或数字或下划线。

  • 当String初始位置匹配成功:
import re
def main():
	username = 'jerry_friend_friend_friend'	n = re.search(r'\w{8,20}', username)
	print("If search......")
	print("n:", n)
	print("The subscript of n:", n.span())
    print("Matched words in n:", n.group()) # group(),匹配成功,返回匹配成功的句子
    m = re.match(r'\w{8,20}', username)
    print("If match.......")
    print("m:", m)
    print("The subscript of m:", m.span())  # span(),如果匹配值成功,则返回匹配成功的下标
    print("Matched words in m:", m.group())  # group(), 匹配成功,返回匹配成功后的部分

if __name__ == '__main__':
    main()

       结果:
在这里插入图片描述

  • 当String初始位置匹配不成功:
import re
def main():
	username = '#jerry_friend_friend_friend'
	......

       结果:
在这里插入图片描述

参考

正则表达式match()与search()的区别

猜你喜欢

转载自blog.csdn.net/lrglgy/article/details/88617525