笔记 - 正则表达式python:匹配结尾与开头

import re

name1 = "a#pple"  # 命名正确, a
name2 = "apple!"

ret = re.match("[a-zA-Z_][a-zA-Z0-9_]*", name1)
if ret:
    print("命名正确,", ret.group())
else:
    print("命名不正确")

明明命名不合法,为什么返回正确,而且只匹配到正确部分

  • 因为默认match只会匹配开头(如果开头正确了,就等于匹配成功了)

严格的匹配开头与结尾

  • 加上^和$(表示开头和结尾)
import re

name1 = "a#pple"
name2 = "apple!"

ret = re.match("^[a-zA-Z_][a-zA-Z0-9_]*$", name1)
if ret:
    print("命名正确,", ret.group())
else:
    print("命名不正确")

你可能感兴趣的:(编程,python,正则表达式)