2010-10-06 53 views

回答

2
import re 

s = "track._Event('product', 'test');Product.lisen(1234, 21, 4343); return false;" 

pattern = re.compile(r'.*lisen\((?P<pid>\d+),\s*(?P<p1>\d+),\s*(?P<p2>\d+)\).*') 

pid, p1, p2 = map(int, pattern.match(s).groups()) 

注意的字符串:我使用了命名捕获组,但在这种情况下这不是必需的。

+0

谢谢这就是我想做的一切 – nabizan 2010-10-06 18:04:07

0

为什么正则表达式?你可以做到这一点将简单的字符串操作

>>> s="track._Event('product', 'test');Product.lisen(1234, 21, 4343); return false;" 
>>> s.split("lisen(")[-1].split(")")[0].split(",") 
['1234', ' 21', ' 4343']