Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex Python正则表达式Findall语句_Regex_Python 3.x_Findall - Fatal编程技术网

Regex Python正则表达式Findall语句

Regex Python正则表达式Findall语句,regex,python-3.x,findall,Regex,Python 3.x,Findall,我是一个业余程序员,对这个网站还不熟悉。我已经搜索了这个问题,但在互联网或本网站的任何其他地方都没有找到 我试图抓住打开和关闭段落html标记之间的所有单词(&)。我的findall语句适用于特定在线文章中所有段落中的所有单词,只有单引号或双引号除外。完全有可能有更好的方法来完成我想做的事情,或者这个语句可以很容易地调整以包含带引号的段落。任何建议都将不胜感激 findall声明: aText = findall("<p>[A-Za-z0-9<>=\"\:/\.\-,\+

我是一个业余程序员,对这个网站还不熟悉。我已经搜索了这个问题,但在互联网或本网站的任何其他地方都没有找到

我试图抓住打开和关闭段落html标记之间的所有单词(
&
)。我的findall语句适用于特定在线文章中所有段落中的所有单词,只有单引号或双引号除外。完全有可能有更好的方法来完成我想做的事情,或者这个语句可以很容易地调整以包含带引号的段落。任何建议都将不胜感激

findall声明:

aText = findall("<p>[A-Za-z0-9<>=\"\:/\.\-,\+\?#@'<>;%&\$\*\^\(\)\[\]\{\}\|\\!_`~ ]+</p>",text) 
aText=findall(“[A-Za-z0-9=\”\:/\。\-,\+?\@'%&\$\*\(\)\[\]\{\\\\\\\\\\\\\\!\ `~+

,文本)

通常
+
是一个贪婪的限定符,通过在最后添加
使其非贪婪,它试图实现最小匹配。因此它将消耗部分字符串,直到

可以匹配为止。

要使用像Beautiful soup这样的HTML解析引擎执行此操作:

from BeautifulSoup import BeautifulSoup

html_doc= """
<p>
paragraph 1
</p>

<p>
paragraph 2
</ap>

<p>
paragraph 3
</p>
"""

soup = BeautifulSoup(html_doc)

soup.findAll('p')
从美化组导入美化组
html_doc=“”

第1款

第2款 第3款

""" 汤=美汤(html\U文档) 汤。芬德尔('p')
Step 1)在您最喜欢的搜索引擎中搜索“Beautiful Soup”。Step 2)遵循其中一个从HTML元素中提取文本的清晰示例。没有Step 3,它实际上是一个非常优雅的库,仅用于此目的:)这将起作用(我投票支持它的正确性)但是您需要注意它的局限性。关闭

标记是可选的(如果丢失则无效),并且
元素可以具有类似
id
class
的属性,这将破坏此正则表达式。
>>> t = r"<p>there isn't much \"to go by\" here</p>"
>>> re.findall(r'<p>(.+?)</p>',t)
['there isn\'t much \\"to go by\\" here']
from BeautifulSoup import BeautifulSoup

html_doc= """
<p>
paragraph 1
</p>

<p>
paragraph 2
</ap>

<p>
paragraph 3
</p>
"""

soup = BeautifulSoup(html_doc)

soup.findAll('p')