正则表达式:如何重复组区域?

斯坦尼斯洛斯

如何重复匹配区域的某个部分而无需多次写入?

例如:

txt = '1. Reserve December 31, prior year.................................................................................................................. ..4,587,658,997 .......................... .1,030,275,014 .....136,963,988 .......................... .3,276,184,545 .....144,235,450 .......................... .......................... .......................... .......................... ..........................'

splitter = '^([\d.]+)(.*?)\.\s\.[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?[\.\s]+(\(*\d[\d,.]*\)*)?'

parts = re.match(splitter, x, re.DOTALL)

我的正则表达式的第一部分,^([\d.]+)(.*?)\.\s\.获取行号和标题:

  1. 保留前一年的12月31日

之后,我必须重复此部分12次,以确保标题之后的数字能再获得12个匹配项[\.\s]+(\(*\d[\d,.]*\)*)?

如果没有12个数字,则返回None该特定匹配项。

有没有一种方法可以重复此表达式12次而不必编写这么长的regex表达式?我尝试过(?:[\.\s]+(\(*\d[\d,.]*\)*)?){12}但没有骰子。

凯尔·赫斯特(Kyle Hurst)

我认为您只需要将第二部分放入组中,就可以在其周围加上(),然后将确切的计数放在该组之外,如下所示:

checkIt = re.compile(r'^([\d.]+)(.*?)\.\s\.([\.\s]+(\(*\d[\d,.]*\)*)?){12}')
if checkIt.match(text):
    do something

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式与重复组

来自分类Dev

正则表达式重复组

来自分类Dev

如何使用正则表达式获得重复组?

来自分类Dev

正则表达式中的嵌套/重复组

来自分类Dev

JavaScript正则表达式重复(子)组

来自分类Dev

重复正则表达式捕获组的捕获部分

来自分类Dev

在Scala中获取重复的正则表达式组

来自分类Dev

Python正则表达式findall捕获重复的组

来自分类Dev

正则表达式重复组或显式模式

来自分类Dev

正则表达式可选重复组

来自分类Dev

具有重复组名的正则表达式

来自分类Dev

完善正则表达式重复组

来自分类Dev

在Scala中获取重复的正则表达式组

来自分类Dev

Java正则表达式-捕获重复的组

来自分类Dev

多行正则表达式 - 捕获重复组的问题

来自分类Dev

正则表达式捕获组参考 > 重复?

来自分类Dev

捕获重复组的 Java 正则表达式

来自分类Dev

仅在正则表达式中捕获重复组

来自分类Dev

如果仅重复一组符号,如何使正则表达式匹配?

来自分类Dev

如何重复一个正则表达式组直到字符串结尾

来自分类Dev

如果仅重复一组符号,如何使正则表达式匹配?

来自分类Dev

如何在正则表达式中使用 qantizer 通过重复模式获取组

来自分类Dev

正则表达式:组或组

来自分类Dev

正则表达式由于重复捕获组而不是重复捕获组而不匹配

来自分类Dev

如何合并正则表达式组匹配?

来自分类Dev

Swift正则表达式-如何提取匹配的组

来自分类Dev

如何遍历正则表达式的匹配组

来自分类Dev

如何限制正则表达式捕获组?

来自分类Dev

如何告诉正则表达式不匹配组?