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