Python正则表达式在lin中打印word

2024-03-29 09:50:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Jupyter Notebook获取docid=PE209374738作为我使用reg ex的输出。它当前以以下格式存储在字典中: {'Url': 'https://backtoschool.com/document.php?docid=PE209374738&datasource=PHE&vid=3326&referrer=api'}

这是我的密码:

results= xmldoc.getElementsByTagName("result")
dict= {}
for a in results:
    url= 'Url'
    dict[url] = a.getElementsByTagName("url")[0].childNodes[0].nodeValue
    docid= re.search(r'\?(.*?)&')

有人对如何打印身份证有什么建议吗


Tags: httpsurl字典格式jupyterregresultsdict
2条回答

标准库已经有了正确解析url的方法,不需要regex

在Python 3中:

from urllib.parse import urlparse, parse_qs

url = 'https://backtoschool.com/document.php?docid=PE209374738&datasource=PHE&vid=3326&referrer=api'
print(parse_qs(urlparse(url).query)['docid'][0])  # PE209374738

在Python 2中,第一行是:

from urlparse import urlparse, parse_qs

@alex hall是正确的,您可能最好使用适当的URL解析器来解析它

也就是说,您最初的问题是关于如何使用regexps,所以下面是解决方案(您几乎已经确定了):

s = 'https://backtoschool.com/document.php?docid=PE209374738&datasource=PHE&vid=3326&referrer=api'
m = re.search(r'\?docid=(.*?)&', s)
print m.groups()[0]

这将打印所需的PE209374738

相关问题 更多 >