Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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 如何使用正则表达式搜索短语?_Python_Regex_Python 3.x - Fatal编程技术网

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版本仍然有效时,重新版本将不起作用。