天天看点

python常用正则表达式_Python3常用正则表达式

常用函数:

1.re.match开始位置匹配,没有匹配到就返回(即使正则表达式没有用^声明匹配开头)input="入门小站"

#P分组命名

reg=re.compile(r'(?P入门)')

res=reg.match(input)

if res:

print(res.groupdict())

print(res.groups())

print(res.groups()){'name': '入门'}

('入门',)

('入门',)

2.re.search搜索整个字符串# 扫描整个 字符串 找到匹配样式的第一个位置,并返回一个相应的 匹配对象。如果没有匹配,就返回一个 None

input='''

入门小站

入门

入门教程

'''

reg=re.compile(r'入门(?:小站|教程)',re.S)

res=reg.search(input)

if res:

print(res.group())入门小站

3.re.findall查找到字符串所有的匹配项,并返回一个listinput='''

入门小站

入门

入门教程

'''

# re.M多行模式匹配

reg=re.compile(r'^入门(?:小站|教程)$',re.M)

res=reg.findall(input)

if res:

print(res)['入门小站', '入门教程']

4.re.split字符串分割# split(pattern, string, maxsplit=0, flags=0)

# maxsplit 最大的分割次数

input='''

入门

123

小站

dd

入门

'''

reg=re.compile(r'[a-z0-9]+')

res=reg.split(input)

print(res)

reg=re.compile(r'[a-z0-9]+')

res=reg.split(input,1)

print(res)['\n入门\n', '\n小站\n', '\n入门\n']

['\n入门\n', '\n小站\ndd\n入门\n']

5. re.sub字符串替换# 语法 sub(pattern, repl, string, count=0, flags=0)

# repl 被替换成的字符串

# count指定替换的次数

input='''

入门

123

小站

456

dd

入门

'''

reg=re.compile(r'([a-z0-9]{1,})',re.M)

res=reg.sub('11',input)

print(res)

# 替换1次

reg=re.compile(r'([a-z0-9]{1,})',re.M)

res=reg.sub('11',input,1)

print(res)入门

11

小站

11

11

入门

​入门

11

小站

456

dd

入门

6. re.subn# 语法 subn(pattern, repl, string, count=0, flags=0)

# repl 被替换成的字符串

# count指定替换的次数

# 返回结果中包含替换的次数

input='''

入门

123

小站

456

dd

入门

'''

reg=re.compile(r'([a-z0-9]{1,})',re.M)

res=reg.subn('11',input)

print(res)('\n入门\n11\n小站\n11\n11\n入门\n', 3)

python常用正则表达式_Python3常用正则表达式