如何使用正则表达式Python从HTML页面查找匹配URL
我试图通过Python中html页面的查询字符串匹配以下URL,但无法解决它。我是python的新手如何使用正则表达式Python从HTML页面查找匹配URL,python,regex,Python,Regex,我试图通过Python中html页面的查询字符串匹配以下URL,但无法解决它。我是python的新手 我想将上面的URL与&user\u id=[从\u 0到\u 99的任意数字]&匹配,并在屏幕上打印此URL 没有此&用户id=[从0到99的任何数字]&的URL将不匹配 以下是我的不完整正则表达式代码: https?:\/\/.{0,30}.+[a-zA-Z0-9\/?\+=]{0,30}和用户id=[0-9][0-9]&.*?” 我知道这段代码有很多错误,但是这段代码设法匹配了上面的URL
我想将上面的URL与&user\u id=[从\u 0到\u 99的任意数字]&
匹配,并在屏幕上打印此URL
没有此&用户id=[从0到99的任何数字]&
的URL将不匹配
以下是我的不完整正则表达式代码:
https?:\/\/.{0,30}.+[a-zA-Z0-9\/?\+=]{0,30}和用户id=[0-9][0-9]&.*?”
我知道这段代码有很多错误,但是这段代码设法匹配了上面的URL,直到“
双qoute
完整的代码如下所示:
import re
reg = re.compile(r'https?:\/\/.{0,30}\.+[a-zA-Z0-9\/?_+=]{0,30}&user_id=[0-9][0-9]&.*?"')
str = '<a href="http://example.com/?query_id=9&user_id=49&token_id=4JGO4I394HD83E" id="838"/>'
result = reg.search(str)
result = result.group()
print(result)
它在URL的末尾显示了
“
,我知道这不是一个好的正则表达式代码,我想要上面代码的更好版本。可以对您的正则表达式说几句话:
/
不是特殊的re
字符,无需转义*
[0-9][0-9]
部分还将匹配04
之类的内容,严格来说,这不是0到99之间的数字reg=re.compile(“https?://.&user_id=[1-9][0-9]?&”)
str='。Hi,当然可以使用正则表达式解析html,但也许值得考虑BeautifulSoup。它是一个解析html的包。
$ python reg.py
http://example.com/?query_id=9&user_id=49&token_id=4JGO4I394HD83E"