Re——正则表达式_常识

Re常识(只写的较为重要的):

1、. —> 在默认模式下,它匹配除换行以外的任何字符。

eg: >>> re.search('...','123').group()
	'123'

2、 ^ —> 匹配字符串的开头,并且在多行模式下也在每个换行之后立即匹配。

eg: >>> re.search('^2...','2123').group()
	'2123'
	>>> re.search('2...','12123').group()
	'2123'

3、$ —> 匹配字符串的末尾,或者刚好在字符串末尾的换行之前,在多行模式下也匹配换行之前。


4、* —> 导致产生的RE匹配前一个RE的0个或多个重复[0, +∞)。


5、 + —> 导致产生的RE匹配前一个RE的1个或多个重复(0, +∞)。


6、 ? —> 导致产生的RE匹配前面的RE的0次或一次。


7、 *?, +?, ?? —> “*”、“+”和“?”限定词都是贪婪的;它们匹配尽可能多的文本。而在它们后面加上?则是使其匹配最少的字符。

eg: >>> re.search('.+>','123>abc>')
	<_sre.SRE_Match object; span=(0, 8), match='123>abc>'>
	>>> re.search('.+?>','123>abc>')
	<_sre.SRE_Match object; span=(0, 4), match='123>'>

8、{m} —> 指定要匹配前一个RE的m个副本。


9、 {m,n} —> 指定要匹配前一个RE的m到n个副本。


10、 {m,n}? —> 指定要匹配前一个RE的m到n个副本,尽可能的少匹配字符。

eg: >>> re.search('.{2,5}','123456').group()
	'12345'
	>>> re.search('.{2,5}?','123456').group()
	'12'

11、(…) —> 捕获组,可以让在括号里面的匹配串为一个整体。

eg: >>> re.search('.(12)+', 'a1212').group()
	'a1212'

12、(?P…) —> 命名捕获组。
13、 (?P=name) —> 使用命名的捕获组。

eg: >>> re.search('(?P<par>12) (?P=par)','12 12')
	<_sre.SRE_Match object; span=(0, 5), match='12 12'>

————2020年4月12日 XXX


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值