Python正则表达式字符集匹配表示是指搜索一个字符,该字符在给定的一个字符的集合中。元字符‘[‘和’]’是用于组合起来定义匹配字符集,匹配模式中使用 ‘[‘开头,并使用’]’结尾来穷举搜索的字符可能出现的集合,注意一个字符集仅用于匹配一个字符,当要字符集匹配多个字符时可以通过定义多个字符集或字符集重复的模式来定义匹配模式。

字符集中的字符可以穷举列出允许的所有字符,也可以通过给出两个起始和终止字符并在中间用 连字符’-’ 标记将它们分开,表示从起始字符到终止字符的一系列字符,这一系列字符包含起始字符和终止字符。

字符集除了指定要匹配的字符外,还可以指定不匹配指定的字符,此时需要使用排除字符集,排除字符集是指在字符集开头添加一个脱字符^字符,例如’[^abc]'与除a、b和c外的其他任何字符都匹配。

举例:

[abc] 将匹配字符 a、b 或 c中的一个;

[0-9] 将匹配一个数字

[a-z]将匹配一个小写字母

[a-zA-Z] 将匹配一个字母

[a-zA-Z0-9] 将匹配一个字母或数字

[一-十]将匹配中文的数字

>>> re.findall("第[一-百][章回]",'第一回 悟彻菩提真妙理 断魔归本合元神 第二回 悟彻菩提真妙理 断魔归本合元神')
['第一回', '第二回']

注意:

 一个字符集只能匹配一个字符

 字符集中的其他元字符不生效,仅代表自身

 在集合内要匹配一个字符 ‘]’,有两种方法,要么就在它之前加上反斜杠,要么就把它放到集合首位。比如,“ [()[]{}]” 和“ [{}]” 都可以匹配 ‘]’。

下面的例子说明了字符集中的元字符.(点)仅代表自身,没有作为元字符生效:

>>> re.search("[A-Za-z]([A-Za-z0-9])*[.]txt",'Abc2019.txt')
<re.Match object; span=(0, 11), match='Abc2019.txt'>
>>> re.search("[A-Za-z]([A-Za-z0-9])*[.]txt",'Abc2019txt')
>>>

老猿Python,跟老猿学Python!

博客地址:https://blog.csdn.net/LaoYuanPython


请大家多多支持,点赞、评论和加关注!谢谢!

最新文章

  1. proteus 查找 仿真元件 中英文对照 [持续更新]
  2. Empire C:Basic 2
  3. react native 布局注意点
  4. 使用c#检测文件正在被那个进程占用 判断文件是否被占用的两种方法
  5. manacher算法(转载)
  6. asp.net mvc4 使用KindEditor文本编辑器
  7. uva11426 GCD Extreme(II)
  8. java基础之代理
  9. python 中去除BOM头
  10. VS快捷键教程
  11. dom作业
  12. 1018关于MySQL复制搭建[异步复制和半同步复制]
  13. Spring Boot(Spring的自动整合框架)
  14. Oracle 数据库导入与出
  15. Swift5 语言指南(十七) 反初始化
  16. 故障 -&gt; nginx启动失败
  17. windows 系统中的 afd 驱动
  18. 【每日一题】 UVA - 1588 Kickdown
  19. Active Learning
  20. Python locale error: unsupported locale setting

热门文章

  1. Python基础教程分享,视频教程免费下载!
  2. [C#.NET 拾遗补漏]12:死锁和活锁的发生及避免
  3. padding的讲究
  4. JavaScript兼容性总结一点点
  5. W3C中不同标准的含义
  6. Java编发编程 - 线程池的认识(一)
  7. [head first 设计模式] 第一章 策略模式
  8. U盘数据丢失怎么办,还能恢复吗
  9. 【PYTEST】第二章编写测试函数
  10. Netty源码分析之ByteBuf(二)—内存分配器ByteBufAllocator