python - Python正则表达式输出多个匹配项
问题描述
我有以下示例文本:
60CC
60 cc
60cc2
60CC(2)
和以下正则表达式来匹配这些实例:
(60\s?(cc)(\w|\(.\)){0,5})
但是我的第一场比赛的输出如下:
Match 1
1. 60CC
2. CC
3. None
如何将输出限制为 #1 ?
我正在使用 Python 正则表达式。我的python代码片段是:
re.findall("(60\s?(cc)(\w|\(.\)){0,5})", text, flags=re.IGNORECASE)
解决方案
如何将输出限制为 #1 ?
您可以忽略 findall/finditer 结果中不相关的组。
或者,对您不关心的位使用非捕获组:只需?:
在前导括号后添加,这样您仍然可以使用分组功能(例如交替),而不会在结果中捕获(拆分)组。
推荐阅读
- r - 如何覆盖观察节点的值?
- python - 如果 XML 属性不存在则忽略它的 Pythonic 方式
- webpack - 即使我有正确的加载器,Webpack 也无法处理我的 SCSS 文件
- python - Attribute error on BeautifulSoup with Python (web scraping)
- reactjs - onClick - 仅当其 div 是目标时触发
- html - 打印 PDF 嵌入条形码的质量是否与打印纯文本 ZPL 一样好?
- python - 在带有句子的字符串列表中扫描“下载:”
- sharepoint - Power BI 报表服务器 - 从 Sharepoint 列表自动刷新报表中的数据
- python - 我有 pip 版本 19.3.1 但是在安装要求时,它说我有版本 9.0.3
- image-processing - Keras、图像配准、全卷积网络