正则表达式

正则表达式的符号与方法

>>常用符号:

 >>.:匹配任意字符,换行符\n除外

>>> import re
>>> a = 'abc123'
>>> b = re.findall('a.',a)
>>> print(b)
['ab']
>>> b = re.findall('a..',a)
>>> print(b)
['abc']

 >>*:匹配前一个字符0次或无限次

>>> import re
>>> a = 'abca123'
>>> b = re.findall('a*',a)
>>> print(b)
['a', '', '', 'a', '', '', '', '']

 >>?:匹配前一个字符0次或1次

>>> import re
>>> a = 'abca123'
>>> b = re.findall('a?',a)
>>> print(b)
['a', '', '', 'a', '', '', '', '']

 >>.*:贪心算法

>>> import re
>>> a = 'fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa'
>>> b = re.findall('xx.*xx',a)
>>> print(b)
['xxaxxfdsafsdfasxxbxxfdsafasfsaxxcxx']

 >>.*?:非贪心算法

>>> import re
>>> a = 'fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa'
>>> b = re.findall('xx.*?xx',a)
>>> print(b)
['xxaxx', 'xxbxx', 'xxcxx']

 >>():括号内的数据作为结果返回

>>> import re
>>> a = 'fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa'
>>> b = re.findall('xx(.*?)xx',a)
>>> print(b)
['a', 'b', 'c']

 >>\d+:匹配数字

>>> import re
>>> a = 'ab312321ab21312'
>>> b = re.findall('\d+',a)
>>> print(b)
['312321', '21312']

>>常用方法

 >>findall:匹配所有符合规律的内容,返回包含结果的列表

 >>search:匹配并提取第一个符合规律的内容,返回一个对象

>>> import re
>>> a = 'abca123'
>>> b = re.search('a?',a).group(0)
>>> print(b)
a

 >>Sub:替换符合规律的内容,返回替换后的值

>>> import re
>>> a = 'abca123'
>>> b = re.sub('.*?123','0123',a)
>>> print(b)
0123

 

转载于:https://www.cnblogs.com/airener/p/6016177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值