python - 正则表达式Python单步,匹配包含两个以上分隔数字的仅文本括号

标签 python regex brackets

这是为了获取温哥华表示法格式的科学论文中的组合引用文献(例如[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/

相关文章:

python - 为什么我在正则表达式模式中需要一个额外的空间才能使其正常工作?

javascript - 用对象属性替换模板字符串中的键

linux - if 结构什么时候不需要括号?

java - 如何匹配带引号的字符串后跟大括号中的字符串?

python - selenium:即使使用完整的 xpath 也找不到元素

python - 如何将数据从类似于/dev/urandom 的 Python PRNG 脚本输出到 Dieharder

python - 读取 PDF 文件并使用正则表达式过滤内容

c++ - 大括号如何在 Boost::extension 中工作,如何自己制作这样的宏?

Python多功能多线程与threading.Thread? (线程数可变)

python - IbPy : How to extract API response into a variable