Python 如何使用正则表达式搜索短语?
请帮助修复脚本Python 如何使用正则表达式搜索短语?,python,regex,python-3.x,Python,Regex,Python 3.x,请帮助修复脚本 import urllib import re import os import pprint import requests import bs4 stringHtml = urllib.request.urlopen('http://forum.saransk.ru/user/2018-sergey-kalinin/').read().decode('utf-8') #print(stringHtml) stringPattern = 'url\suid"\shref="
import urllib
import re
import os
import pprint
import requests
import bs4
stringHtml = urllib.request.urlopen('http://forum.saransk.ru/user/2018-sergey-kalinin/').read().decode('utf-8')
#print(stringHtml)
stringPattern = 'url\suid"\shref="http://vkontakte.ru/id10550933"'
result = re.search(stringPattern, stringHtml)
if result:
print(result.group())
else:
print('no result')
问题是脚本显示“无结果”。正确编译正则表达式。请帮助查找错误我很确定您的正则表达式中有错误。您正在查找以下文本: url uid“href://vkontakte.ru/id10550933"
看起来像是空格错误?我很确定您的正则表达式中有错误。您正在查找以下文本: url uid“href://vkontakte.ru/id10550933"
看起来像是空格错误?我很确定您的正则表达式中有错误。您正在查找以下文本: url uid“href://vkontakte.ru/id10550933"
看起来像是空格错误?我很确定您的正则表达式中有错误。您正在查找以下文本: url uid“href://vkontakte.ru/id10550933"
看起来像是空白错误?为什么不使用导入的bs4 如果要打印
href
类为uid
和url
的a
元素的属性,可以使用
输出:
http://vkontakte.ru/id10550933
为什么不使用
bs4
imported
如果要打印href
类为uid
和url
的a
元素的属性,可以使用
输出:
http://vkontakte.ru/id10550933
为什么不使用
bs4
imported
如果要打印href
类为uid
和url
的a
元素的属性,可以使用
输出:
http://vkontakte.ru/id10550933
为什么不使用
bs4
imported
如果要打印href
类为uid
和url
的a
元素的属性,可以使用
输出:
http://vkontakte.ru/id10550933
页面源代码显示
<a class="url uid" rel="external me" href="http://vkontakte.ru/id10550933">http://vkontakte.ru/id10550933</a>
给
http://vkontakte.ru/id10550933
页面源代码显示
<a class="url uid" rel="external me" href="http://vkontakte.ru/id10550933">http://vkontakte.ru/id10550933</a>
给
http://vkontakte.ru/id10550933
页面源代码显示
<a class="url uid" rel="external me" href="http://vkontakte.ru/id10550933">http://vkontakte.ru/id10550933</a>
给
http://vkontakte.ru/id10550933
页面源代码显示
<a class="url uid" rel="external me" href="http://vkontakte.ru/id10550933">http://vkontakte.ru/id10550933</a>
给
http://vkontakte.ru/id10550933
我想他是在检查它是否存在,是的,这比regex@RyanODonnell,如果这是OP想要的,将最后两行替换为
print(any(a.get('href')='http://vkontakte.ru/id10550933'对于汤中的。选择('a.url.uid'))
将完成这项工作。谢谢,但我知道如何使用“beautifulSoup”模块。现在我对常规的决定感到好奇expressions@Sergey,正则表达式存在一些问题:1。您正在匹配“
,但在uid之后,”
出现。在class
和href
属性之间有ref
属性。@Sergey,是的,如果您只想获取href
属性的值,应该使用捕获组。顺便说一句,为什么要使用正则表达式。重新版本更脆弱。例如,如果将url-uid
更改为uid-url
,则在bs4版本仍然有效的情况下,重新版本将不起作用。我认为他正在尝试检查它是否存在,说是的,这是一种比regex@RyanO'Donnell,如果OP想要的话,将最后两行替换为print(any(a.get('href')) == 'http://vkontakte.ru/id10550933'对于汤中的。选择('a.url.uid'))
将完成这项工作。谢谢,但我知道如何使用“beautifulSoup”模块。现在我对常规的决定感到好奇expressions@Sergey,正则表达式存在一些问题:1。您正在匹配“
,但在uid之后,”
出现。在class
和href
属性之间有ref
属性。@Sergey,是的,如果您只想获取href
属性的值,应该使用捕获组。顺便说一句,为什么要使用正则表达式。重新版本更脆弱。例如,如果将url-uid
更改为uid-url
,则在bs4版本仍然有效的情况下,重新版本将不起作用。我认为他正在尝试检查它是否存在,说是的,这是一种比regex@RyanO'Donnell,如果OP想要的话,将最后两行替换为print(any(a.get('href')) == 'http://vkontakte.ru/id10550933'对于汤中的。选择('a.url.uid'))
将完成这项工作。谢谢,但我知道如何使用“beautifulSoup”模块。现在我对常规的决定感到好奇expressions@Sergey,正则表达式存在一些问题:1。您正在匹配“
,但在uid之后,”
出现。在class
和href
属性之间有ref
属性。@Sergey,是的,如果您只想获取href
属性的值,应该使用捕获组。顺便说一句,为什么要使用正则表达式。重新版本更脆弱。例如,如果将url-uid
更改为uid-url
,则在bs4版本仍然有效的情况下,重新版本将不起作用。我认为他正在尝试检查它是否存在,说是的,这是一种比regex@RyanO'Donnell,如果OP想要的话,将最后两行替换为print(any(a.get('href')) == 'http://vkontakte.ru/id10550933'对于汤中的。选择('a.url.uid'))
将完成这项工作。谢谢,但我知道如何使用“beautifulSoup”模块。现在我对常规的决定感到好奇expressions@Sergey,正则表达式存在一些问题:1。您正在匹配“
,但在uid之后,”
出现。在class
和href
属性之间有ref
属性。@Sergey,是的,如果您只想获取href
属性的值,应该使用捕获组。顺便说一句,为什么要使用正则表达式。重新版本更脆弱。例如,如果将url-uid
更改为uid-url
,则当bs4版本仍然有效时,重新版本将不起作用。