使用python正则表达式将Facebook URL用户ID与URL隔离
好的,我从Stack overflow中找到了这个正则表达式,它可以隔离URL和ID,但是当我试图在app engine(py)中使用它时,一个错误弹出窗口显示“无需重复,我知道Python中有一个关于这个正则表达式重复的bug,有人可以修复吗?tx使用python正则表达式将Facebook URL用户ID与URL隔离,python,regex,google-app-engine,Python,Regex,Google App Engine,好的,我从Stack overflow中找到了这个正则表达式,它可以隔离URL和ID,但是当我试图在app engine(py)中使用它时,一个错误弹出窗口显示“无需重复,我知道Python中有一个关于这个正则表达式重复的bug,有人可以修复吗?tx File "C:\Program Files\Python27\lib\re.py", line 244, in _compile raise error, v # invalid expression error: nothing t
File "C:\Program Files\Python27\lib\re.py", line 244, in _compile
raise error, v # invalid expression
error: nothing to repeat
示例代码
# patt = '(?:http:\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-]*)?'
# tst = self.request.get("form_fbURL")
# m=re.match(patt,tst)
我不是一个好的python程序员:)试试这个模式:
patt = '(?:http(|s):\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-])*'
请尝试以下模式:
patt = '(?:http(|s):\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-])*'
有一个解析url的
urlparse
模块。python3.0
中的urlparse
模块被重命名为urllib.parse
$ python
>>> from urlparse import urlparse
>>> urlparse('http://www.facebook.com/hello/world.php?id=789')
ParseResult(scheme='http', netloc='www.facebook.com', path='/hello/world.php', params='', query='id=789', fragment='')
有一个解析url的
urlparse
模块。python3.0
中的urlparse
模块被重命名为urllib.parse
$ python
>>> from urlparse import urlparse
>>> urlparse('http://www.facebook.com/hello/world.php?id=789')
ParseResult(scheme='http', netloc='www.facebook.com', path='/hello/world.php', params='', query='id=789', fragment='')
urlparse也在Python2中-它已经存在很长时间了。是的,绝对没有理由在这里使用正则表达式。但是请注意,在Python2中-您将在AppEngine上使用它-它在一个独立的
urlparse
模块中。但是我认为我使用Python2.7和AppengineurParse也在Python2中-它已经存在很长时间了。是的,绝对正确我没有理由在这里使用正则表达式。但是请注意,在Python2中——您将在AppEngine上使用它——它位于一个独立的urlparse
模块中。但是我认为我使用的是Python2.7,它可能与