Python re正则表达式模块(二)

版权声明:本博客内容归个人所有,如需转载,请标明出处。 https://blog.csdn.net/m0_37468171/article/details/89319617

一:re模块中常用的功能函数

1、re.compile()
简介:编译正则表达式模式,返回一个对象的模式。

格式:re.compile(pattern,flags=0)   
pattern: 编译时用的表达式字符串。
flags: 编译标志位,用于修改正则表达式的匹配方式,如:是否区分大小写,多行匹配等。

举例:

re.compile(r'/d+')

2、re.match()
简介:决定re是否在字符串刚开始的位置匹配。 必须是从开头匹配

格式:re.match(pattern, string, flags=0)

举例:

print(re.match(r'h(.*?)o','hellow').group())
打印:hello, 注意不是ell

3、re.findall() #使用频率最多;区别于BeautifulSoup 的find_all(),防止记忆混淆

格式:re.findall(pattern, string, flags=0)
返回值的类型是一个列表

举例:

p = re.compile(r'\d+')
print(p.findall('o1n2m3k4'))
打印如下:
['1', '2', '3', '4']

二:注意点

1、贪婪匹配 与非贪婪匹配
贪婪匹配 : * ,+ ,?
非贪婪匹配(在贪婪匹配后面加个?):*?,+?,??

2、上面的方法都有两种写法,举例如下:

  1. re的match方法
    re.match(pattern,string,flags)
  2. pattern的match方法
    p = re.compile(pattern,flags)
    p.match(pattern,string,flags)

参考资料:https://www.cnblogs.com/tina-python/p/5508402.html

猜你喜欢

转载自blog.csdn.net/m0_37468171/article/details/89319617