这是为了获取温哥华表示法格式的科学论文中的组合引用文献(例如[23,24,28-30],这个括号包含四个数字)。我需要将括号与两个以上的数字相匹配(不要与数字混淆)。最小代表示例:
输入原始文本
blabla [23,24] bleble [23,24,28-30] blibli [40,45-48] bloblo [113]
我只寻找 yield 的正则表达式,
>>> ['[23,24,28-30]', '[40,45-48]']
我的正则表达式尝试:r"\[[,\-(?:\d+)]{3,}\]"
但我失败了。我寻找单步正则表达式。
非常感谢您的体验。
最佳答案
您不能将组放入角色类中。字符集应该位于您要量化的组内。
r"\[(?:\d+[-,]){2,}\d+\]"
这匹配至少 2 次重复的数字,后跟分隔符(逗号或连字符),后跟另一个数字。
关于python - 正则表达式Python单步,匹配包含两个以上分隔数字的仅文本括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74956684/