Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python正则表达式将Facebook URL用户ID与URL隔离_Python_Regex_Google App Engine - Fatal编程技术网

使用python正则表达式将Facebook URL用户ID与URL隔离

使用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

好的,我从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 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,它可能与