Python:正则表达式:查找可以在任何地方的模式+空间

标签 python regex

我有一个正则表达式,可以让我找到遵循这种模式的子串:12345/123: '\d{5}/\d{3}'.

我还想找到遵循相同模式但空格可以在任何地方(开头和结尾除外)的子字符串。以下是所有可能性:

1 2345/123
12 345/123
123 45/123
1234 5/123
12345 /123
12345/ 123
12345/1 23
12345/12 3

有没有一种简单的方法可以使用独特的正则表达式来做到这一点? 我目前对每种可能性都有一个正则表达式 ('\d\s\d{4}/\d{3}', '\d{2}\s\d{3}/\d{3}'...),但这不是好的做法。

例子:

我有的字符串:

'THIS IS 50325/654 A TEST STRING 56 968/325 THIS IS A 65646 TEST 46546/ 564 STRING THIS 259 65/456 IS A TEST 54654/65 4 STRING'

我想获得的匹配项:['50325/654', '46546/564', '259 65/456', '54654/65 4']

编辑: 更多信息:

  • 只有一个空格,最终会被删除
  • 真实数据中还有许多其他数字,因此不幸的是,删除所有空格不是一种选择。示例:JLMREL 1515 25/15 115 RMK 46546/564 ==> 一场比赛 46546/564

最佳答案

你可以试试OR "|"在具有多个条件的正则表达式中运行

re.findall('\d{2,} \d{2,}/\d{3,} | \d{2,}/\d{3,} | \d{2,}/\d{1,} \d{1,}',a)

输出L

[' 50325/654 ', '56 968/325 ', '259 65/456 ', ' 54654/65 4']

关于Python:正则表达式:查找可以在任何地方的模式+空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52646581/

相关文章:

ruby-on-rails - 如何从困惑的用户输入中匹配/提取域名?

Python 与 eclipse 导入问题

MySQL 模式匹配来查找特定文本

python - 如何在 python 中检测不正确的 kwarg 名称

Python 三重字符串引号声明

python 使用 REGEXP 和 mysql 连接器从 mysql 中删除行

mysql - 查找数据库中所有没有尾部斜杠的链接

java - 模式/匹配器 Java,非零组计数但错误检索?

python - Python 的 os.path.relpath 的意外行为

python - 搜索 csv 文件中的列