Python正则表达式常用语法
作者:yooongchun
微信公众号:yooongchun小屋
基本语法
search(pattern, string, flags=0)
:在一个字符串中查找匹配findall(pattern, string ,flags=0)
:找到匹配,返回所有匹配部分的列表sub(pattern, repl, string , count=0, flags=0)
:字符串中匹配正则表达式的部分替换为其他值split(pattern, string ,maxsplit=0, flags=0)
:根据匹配分割字符串,返回分隔符串组成的列表
常用规则
d :匹配一个数字
. :匹配任一个字符
* :匹配任意多个字符
+ :匹配至少一个字符
?:匹配0个或者一个字符
{n}:表示n个字符
{m,n}:匹配m到n个字符
| :或
^ :必须以某字符开头
$ :必须以某字符结束
[u4e00-u9fa5]:匹配中文
使用实例
import re
s = "大家好,我是 hello world!++--== Hello everyone"
-
查找字符串中的所有英文字母
print(re.findall(r"[a-zA-Z]+", s)) # 结果 ['hello', 'world', 'Hello', 'everyone']
-
查找字符串中的所有汉字
print(re.findall(r"[u4e00-u9fa5]+", s)) # 结果 ['大家好', '我是']
-
查找特定字串在字符串中的位置
print(re.search(r"[a-zA-Z]+", s).span()) # 结果 (7, 12)
-
替换字符(删除所有空格)
print(re.sub(r"s+", "", s)) # 结果 大家好,我是helloworld!++--==Helloeveryone
-
使用多种符号分割
print(re.split(r"[!+,-=s]+", s)) # 结果 ['大家好', '我是', 'hello', 'world', 'Hello', 'everyone']