正则表达式匹配多个字符操作示例

正则表达式匹配多个字符操作示例

注意:
match只能判断以什么开头,也就是说如果前面有一部分匹配,那么正确的也能匹配出来,后面不匹配的就舍去了。

匹配多个字符
* 匹配一个字符出现0次或无限次 ,即前面的字符可有可无
+ 匹配一个字符出现了一次或无限次,即至少出现一次
匹配一个字符出现了1次或者0次,即要么有一次,要么没有
{m} 匹配前一个字出现了m次
{m,n} 匹配前一个字符出现了(m,n)这个集合中的任意一次
 >>> import re
 >>> html_content = '''aaa
... bbb
... ccc'''
>>> re.match(r'.*',html_content)
<re.Match object; span=(0, 3), match='aaa'>
换行后面的内容无法匹配,如果需要匹配换行后的,需要转义
如下:
>>> re.match(r'.*',html_content,re.S)
<re.Match object; span=(0, 11), match='aaa\nbbb\nccc'>
>>> re.match(r'a+',html_content,re.S)
<re.Match object; span=(0, 3), match='aaa'>
>>> re.match(r'a?',html_content,re.S)
<re.Match object; span=(0, 1), match='a'>
匹配\d 出现3次,接着匹配- 出现0次或1次,接着\d 出现8次
>>> re.match(r'\d{3}-?\d{8}','012-12345667')
<re.Match object; span=(0, 12), match='012-12345667'>
>>> re.match(r'\d{3}','12345//')
<re.Match object; span=(0, 3), match='123'>
>>> re.match(r'\d{3,5}','23//')
>>>> re.match(r'\d{3,5}','233323')
<re.Match object; span=(0, 5), match='23332'>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章