首页 > 解决方案 > 复杂的正则表达式模式

问题描述

我有以下正在循环的文字字符串:

Some prior text <COMPANY-IDENTIFIER>oranges.txt : 3254323
Some prior text <COMPANY-IDENTIFIER>raisins.txt : 6434422
Some prior text <COMPANY-IDENTIFIER>apples.txt : 932323

我正在尝试将字符串拆分为: <COMPANY-IDENTIFIER>、文件名和:

我相信<并且>是每个字符串的特殊正则表达式字符和文件名更改。

我使用以下模式的变体进行拆分:

pattern = '<COMPANY-IDENTIFIER>(.*): '  #supposed to detect <COMPANY-IDENTIFIER>apples.txt : , etc
the_number = string.split(pattern)[1]

但是我的模式不起作用。

寻找关于我做错了什么的指导。

谢谢。

标签: pythonregex

解决方案


要在这些点拆分,您可以使用正则表达式

r' +<|>| *: *'

演示

正则表达式读取,“匹配一个或多个空格后跟 '<''>'一个或多个空格后跟一个冒号,后跟一个或多个空格”。

"Some prior text <COMPANY-IDENTIFIER>oranges.txt : 3254323"

分为"Some prior text"、和。"COMPANY-IDENTIFIER"_"oranges.txt""3254323"


推荐阅读