2009-11-18 71 views
-2

我已经做在PHP一个简单的程序,现在需要将其转换成Python:从PHP转换RE代码到Python

$string="Google 1600 Amphitheatre Parkway Mountain View, CA 94043 phone"; 
preg_match_all('/[0-9]+.{10,25}[^0-9]*[0-9]{5,6}+\s/',$string,$matches); 
print_r($matches); 
+2

当你看着Python re模块时,你看到了什么? http://docs.python.org/library/re.html那是你在找什么?你对Python有什么具体问题? – 2009-11-18 12:49:48

+0

如果添加使用正则表达式的用例,我们会更容易找到,相反,我们必须对其进行解密,这并不好玩。 – 2009-11-18 12:51:52

+0

现在它起作用了,你应该“接受”一个答案,这样人们就能从中得到好处。 – 2009-11-19 11:30:15

回答

-1
import re 
string = "Input values" 
match = re.match('/[0-9]+.{10,25}[^0-9]*[0-9]{5,6}\s/', s) 
print match 

这应该是,你在找什么,如果正则表达式是对的。

1
import re 
for x in re.findall('[0-9]+.{10,25}[^0-9]*[0-9]{5,6}\s',STRING):print x 

会对您好吗?

+0

+1,但一些解释会很好。 – 2009-11-18 12:59:57

+0

感谢您指出,因为您已经这么做了,他会理解的。实际上,我对于stackoverflow很新,反正干杯。 – YOU 2009-11-18 13:11:20

0

在python中,你必须使用“re”模块来做到这一点。与PHP不同的是,您不需要放置分隔符,因此在模式开始和结束时删除您所拥有的“/”。然后

Python的成语是:

import re 
string="Input values" 
for match in re.findall('[0-9]+.{10,25}[^0-9]*[0-9]{5,6}\s',string) : 
    print match 

我们很少用一些漂亮的打印工具,如在Python“的print_r”,因为大多数时候,迭代器和STR()的做的伎俩。所以在这里,一个简单的for循环将完成这项工作。

+0

非常感谢它的正常工作 – Naresh 2009-11-19 10:07:58

+0

LOl,这不是一个“文本”协议,你必须点击“接受”bouton。 – 2009-11-20 10:56:27