第
一文介绍Python中的正则表达式用法
目录1.正则表达式基础1.1什么是正则表达式1.2基本匹配规则1.3字符类和预定义字符类1.4量词和贪婪匹配1.5边界匹配2.使用re模块2.1re模块的导入2.2re.match()方法2.3re.search()方法2.4re.findall()方法2.5re.sub()方法3.正则表达式的高级用法3.1分组和捕获3.2非贪婪匹配3.3向前界定和向后界定3.4反向引用3.5零宽断言4.实例演示4.1邮箱验证4.2URL提取4.3HTML标签提取4.4敏感词过滤结论
1.正则表达式基础
1.1什么是正则表达式
正则表达式是一种用于描述和匹配字符串模式的表达式。它由一系列字符和特殊字符组成,用于在文本中进行搜索和替换操作。
1.2基本匹配规则
正则表达式中的基本匹配规则包括普通字符的匹配、点号的匹配任意字符、转义字符的使用等。
importre
pattern=rabc#匹配字符串abc
string=xyzabcdef
result=re.findall(pattern,string)
print(result)#Output:[abc]
1.3字符类和预定义字符类
字符类用于匹配指定范围内的字符,预定义字符类则表示常见的字符组合,如数字、字母、空白字符等。
importre
pattern=r[0-9]#匹配任意数字字符
string=abc123def
result=re.findall(pattern,string)
print(result)#Output:[1,2,3]
1.4量词和贪婪匹配
量词用于指定匹配的次数,如匹配0次或多次、匹配1次或多次等。贪婪匹配是指尽可能多地匹配字符,非贪婪匹配则尽可能少地匹配字符。
importre
pattern=ra+#匹配一个或多个连续的字符a
string=aaaabbb
result=re.findall(pattern,string)
print(result)#Output:[aaaa]
1.5边界匹配
边界匹配用于限定匹配的位置,如行的开头、行的结尾、单词的边界等。
importre
pattern=r\bhello\b#匹配整个单词hello
string=helloworld
result=re.findall(pattern,string)
print(result)#Output:[hello]
2.使用re模块
2.1re模块的导入
在使用Python进行正则表达式操作之前,我们需要先导入re模块。
importre
2.2re.match()方法
re.match()方法用于从字符串的开头开始匹配模式,如果匹配成功,则返回一个匹配对象;否则返回None。
importre
pattern=rhello
string=helloworld
result=re.match(pattern,string)
ifresult:
print(Matchfound!)
else:
print(Nomatch)
2.3re.search()方法
re.search()方法用于在字符串中搜索匹配模式,如果找到任意位置的匹配,则返回一个匹配对象;否则返回None。
importre
pattern=rworld
string=helloworld
result=re.search(pattern,string)
ifresult:
print(Matchfound!)
else:
print(Nomatch)
2.4re.findall()方法
re.findall()方法用于在字符串中搜索所有匹配模式的子串,并将它们作为列表返回。
importre
pattern=r\d+
string=Ihave10applesand20oranges.
result=re.findall(pattern,string)
print(result)#Output:[10,20]
2.5re.sub()方法
re.sub()方法用于在字符串中搜索匹配模式的子串,并将其替换为指定的字符串。
importre
pattern=rapple
string=Ihav