python 正则

179 阅读1分钟

正则在线测试:c.runoob.com/front-end/8…

python 正则使用的re模块

  1. re.compile(pattern, flags=0) 将正则表达式的样式编译为一个正则对象,可以用于匹配.如果需要多次使用这个正则表达式的话,使用re.compile和保存这个正则对象以便复用,可以让程序更加高效。 通过 re.compile()编译后的样式,和模块级的函数会被缓存, 所以少数的正则表达式使用无需考虑编译的问题。
prog = re.compile(pattern) # pattern为正则表达式"
result = prog.match(string)
等于
result = re.match(pattern, string)
  1. flags的可取值
  1. match(pattern, string, flags=0)
# match函数只检测RE是不是在string的开始位置匹配
result = re.match(r'\d+', 'a9999') # 匹配不到
result2 = re.match(r'\d','1a') # 匹配得到
# 返回的match Object 配合group
result2.group() # 1

  1. fullmatch(pattern, string, flags=0)
# 全匹配,整个字符串匹配
result2 = re.match(r'\d','1a') # 匹配不到
result2 = re.match(r'\d...\d','1aaa1') # 匹配的到

  1. search(pattern, string, flags=0)
search()会扫描整个string查找匹配
result = re.search(r'\d+', 'a9999') # 匹配得到
result.group() # 9999
  1. sub(pattern, repl, string, count=0, flags=0)

  2. ubn(pattern, repl, string, count=0, flags=0)

  3. split(pattern, string, maxsplit=0, flags=0)

  4. findall(pattern, string, flags=0)

  5. finditer(pattern, string, flags=0)

  6. purge()

  7. template(pattern, flags=0)

  8. escape(pattern)