复杂的正则表达式模式

时间:2020-03-05 00:54:57

标签: python regex

我正在遍历以下文字字符串:

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]

但是我的模式不起作用。

正在寻找有关我做错事情的指导。

谢谢。

2 个答案:

答案 0 :(得分:1)

您应该使用正则表达式True,而不是re.split()。另外,从模式中删除括号:

str.split()

答案 1 :(得分:1)

要在那时拆分,可以使用正则表达式

r' +<|>| *: *'

Demo

正则表达式为:“匹配一个或多个空格,后跟'<''>',一个或多个空格,后接一个冒号,后跟一个或更多空间”。

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

分为"Some prior text""COMPANY-IDENTIFIER""oranges.txt""3254323"

相关问题