python 正则

正则表达式:
+:符号表示在符号之前的字段必须最少出现一次
# coding=utf-8
import re
a='_python 1111pythonn\n7\pytho8php'

r=re.findall('python+',a)
print(r)

* :表示符号前的字段可以出现为0 次或者多次
# coding=utf-8
import re
a='_python 1111pythonn\n7\pytho8php'

r=re.findall('python*',a)
print(r)

?:表示符号前的字段可以为0次最多出现一次
# coding=utf-8
import re
a='_python 1111pythonn\n7\pythopythonnpythonn8php'

r=re.findall('python?',a)
print(r)
元字符
\d表示数字 与[0-9]同效
\D表示非数字与[^0-9]同效
\w 表示数据和字母 同效 [A-Za-z0-9_] 单词字符
\W 表示非单词字符  即 空格 \r \t \n 等都是非单词字符
\s  表示空白字符 即 空格 \r \t \n 等
\S 表示非空白字符 即非 空格 \r \t \n 等
.匹配除\n换行符之外的其他所有字符
# coding=utf-8
# re.I忽略字母大小写
#re.S 让.匹配换行符
import re
a='PythonC#\nJav\naPHP'

r=re.findall('c#.{1}',a,re.I | re.S)
print(r)
[] 表示或的意思
() 表示且关系
# coding=utf-8
#多个单词重复出现
import re
a='pythonpythonpythonpythonpythonthonpythonthonpythonthonpython'

r=re.findall('(python){3}',a)
print(r)

^表示相反的意思 同时表示从开始匹配 
$表示字符串得末尾
{} 数量词
# coding=utf-8
import re
a='_python 1111java&6\n7\t\r 8p_hp'

r=re.findall('[a-z]{3}',a)
print(r)

贪婪
# coding=utf-8
import re
a='_python 1111java&6\n7\t\r 8php'

r=re.findall('[0-9]{3,6}',a)
print(r)

非贪婪

# coding=utf-8
import re
a='_python 1111java&6\n7\t\r 8php'

r=re.findall('[0-9]{3,6}?',a)
print(r)

边界匹配
# coding=utf-8
#边界匹配
import re
a='1000016666'

r=re.findall('^\d{4,8}$',a)
print(r)

#重点
# coding=utf-8
import re
a='PythonC#JavaC#PHP'
#r=re.sub('C#','GO',a,1)
#r= a.replace('C#','Go')
def convert(value):
    matched = value.group()
    return '!!'+ matched + '!!'
r = re.sub('C#',convert,a)
print(r)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dnfdsaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值