Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 处理几个相邻的正则表达式匹配_Python_Regex - Fatal编程技术网

Python 处理几个相邻的正则表达式匹配

Python 处理几个相邻的正则表达式匹配,python,regex,Python,Regex,如果一个正则表达式模式可以在一个文本中多次找到,那么在这种情况下,人们会如何选择和区分匹配项 选择第一个匹配项 忽略外围设备 只有一个匹配使用索引 示例: regex_pattern=r“(AB.+?AbB)|(CD.+?CdD)|(EF.+?EfF)” text=“用于在一个文件中查找多个相邻的CDtagsCdDCdD 文本这是一个ABexampleAbB文本“ 第一个匹配项是相邻的CDtagsCdD 虽然有人可能希望两者都匹配: CD相邻的CD标签CdDCdD 及CD标签CdD找到

如果一个正则表达式模式可以在一个文本中多次找到,那么在这种情况下,人们会如何选择和区分匹配项

  • 选择第一个匹配项
  • 忽略外围设备
  • 只有一个匹配使用索引

示例:


regex_pattern=r“(AB.+?AbB)|(CD.+?CdD)|(EF.+?EfF)”
text=“用于在一个文件中查找多个相邻的CDtagsCdDCdD
文本这是一个ABexampleAbB文本“
第一个匹配项是相邻的CDtagsCdD
虽然有人可能希望两者都匹配:
CD相邻的CD标签CdDCdD

CD标签CdD

找到答案的速度比我想象的要快。 使用“(”,“)”(圆括号)可以将正则表达式的部分用作一个单元,并添加“+”;(加号)可以查找一个图案的多个引用

对于本例,此模式将解决以下问题:

r"(AB.+?(AbB)+)|(CD.+?(CdD)+)|(EF.+?(EfF)+)"