python中如何使用正则表达式的集合字符示例

yipeiwu_com7年前Python基础

前言

本文主要给大家介绍了关于python使用正则表达式的集合字符的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

在正则表达式里,想匹配一些字符中的一个,也就是说给出一个字符的集合,只要出现这个集合里任意的字符,都是成立的。比如[ab],就是将匹配任意出现a或b的字符。比如a[ab]+,它是贪婪模式,将会匹配所有是a后面的a或b的字符串,如abbaabbba。如果要改为非贪婪模式,要在后面添加?,如下面的例子:

示例代码

#python 3.6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from re_test_patterns import test_patterns 
 
test_patterns( 
 'abbaabbba', 
 [('[ab]', 'either a or b'), 
  ('a[ab]+', 'a followed by 1 or more a or b'), 
  ('a[ab]+?', 'a followed by 1 or more a or b, not greedy')], 
) 

结果输出如下:

'[ab]' (either a or b)


 'abbaabbba'
 'a'
 .'b'
 ..'b'
 ...'a'
 ....'a'
 .....'b'
 ......'b'
 .......'b'
 ........'a'


'a[ab]+' (a followed by 1 or more a or b)


 'abbaabbba'
 'abbaabbba'


'a[ab]+?' (a followed by 1 or more a or b, not greedy)


 'abbaabbba'
 'ab'
 ...'aa'

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python 命令行非阻塞输入的小例子

 随手google咗一下,基本上都用select实现非阻塞监听,但问题是,监听的是用select之后是不能像getchar()那样,即时收到单个字符的输入,必须要等待回车。 &...

利用pandas将非数值数据转换成数值的方式

利用pandas将非数值数据转换成数值的方式

handle non numerical data 举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~, 这里不考虑稀疏向量的使用,仅提供一些思路。本来想直接利用p...

pandas DataFrame 删除重复的行的实现方法

pandas DataFrame 删除重复的行的实现方法

1. 建立一个DataFrame C=pd.DataFrame({'a':['dog']*3+['fish']*3+['dog'],'b':[10,10,12,12,14,14,1...

python3的UnicodeDecodeError解决方法

python3的UnicodeDecodeError解决方法

爬虫部分解码异常 response.content.decode() # 默认使用 utf-8 出现解码异常 以下是设计的通用解码 通过 text 获取编码 # 通过...

Python进阶之@property动态属性的实现

Python 动态属性的概念可能会被面试问到,在项目当中也非常实用,但是在一般的编程教程中不会提到,可以进修一下。 先看一个简单的例子。创建一个 Student 类,我希望通过实例来获取...