用于在括号和逗号中提取数据的正则表达式

时间:2010-04-17 14:13:04

标签: python regex

所以,我有这个:

  

“(ABC,2004)”

我需要在变量中提取ABC,在另一个中提取2004。 所以我现在所拥有的是:

  

在:re.compile(r'([^]] *,')。findall(“(   ABC,2004)“)

     

Out:['(ABC,']

2 个答案:

答案 0 :(得分:5)

如果您的输入始终如此(以“(”,以“)结尾”),您可以将您的值设为:

input_text.strip(" ()").split(",")

>>> "( ABC,2004 )".strip(" ()").split(",")
['ABC', '2004']

这将消耗里面外括号内的任何括号。

此外,如果逗号可以用空格包围/替换,您可以:

[item.strip() for item in input_text.strip(" ()").split(",")]

答案 1 :(得分:2)

尝试寻找“单词”字符:

>> re.compile(r'\w+').findall("( ABC,2004 )")
['ABC', '2004']