正则表达式与重复组

露西德废话

我一直在尝试在连字符之间匹配一个词组。我意识到,我可以轻松地将连字符分开并弄清楚短语,但是与此相对应的正则表达式无法按预期工作,我想了解原因:

([^-,]+(?:(?: - )|$))+

[^-,]+ 只是我对短语的定义

(?: - ) 只是非捕获空间定界的连字符

所以(?:(?: - )|$)是捕获连字符或行尾

最后,用括号括起来的整个事物+匹配多个。

如果我表演,我会得到的regex.match("A - B - C").groups()('C',)

我也尝试了更简单的正则表达式([^,-]+)+,结果相似

re.match之所以使用pandas.Series.str.extract因为我想将其应用于很长的列表。

重申一下:我现在split在连字符上使用了easy ,但是为什么此正则表达式不返回多个组?

谢谢

正则表达式捕获组通过其在表达式中的出现静态地“命名”。每个捕获组都有自己的编号,并且将匹配项分配给该组,而不管单个组捕获事物的频率如何。

如果某个组之前和之后捕获了某项内容,那么后来的结果将覆盖之前捕获的内容。无法使用常规匹配来收集组的所有捕获值。

如果要查找多个值,则只需要匹配一个组,然后在其余字符串上重复匹配。通常由re.findall完成re.finditer

>>> re.findall('\s*([^-,]+?)\s*', 'A - B - C')
['A', 'B', 'C']

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式练习组

来自分类Dev

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

来自分类Dev

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

来自分类Dev

正则表达式内组

来自分类Dev

正则表达式:捕获组?

来自分类Dev

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

来自分类Dev

正则表达式:组函数

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Python正则表达式组

来自分类Dev

正则表达式与平衡组

来自分类Dev

正则表达式可选重复组

来自分类Dev

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

来自分类Dev

无效的正则表达式组

来自分类Dev

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

来自分类Dev

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

来自分类Dev

完善正则表达式重复组

来自分类Dev

正则表达式命名组

来自分类Dev

Ruby正则表达式组

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

正则表达式重复组

来自分类Dev

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

来自分类Dev

正则表达式:组或组

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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