首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python (模式+通配符+模式)[返回](模式)

Python (模式+通配符+模式)[返回](模式)
EN

Stack Overflow用户
提问于 2019-01-22 22:54:02
回答 2查看 103关注 0票数 0

selenium刮取字符串中的python,用re解析

代码语言:javascript
复制
<div type="copy3" class="sc-bxivhb dHqnfT">756 W Peachtree St NW Atlanta GA 30308</div>

我想回来

代码语言:javascript
复制
756 W Peachtree St NW Atlanta GA 30308

这个判据

代码语言:javascript
复制
("copy3").*?(?=</div>)

把我还给你

代码语言:javascript
复制
"copy3" class="sc-bxivhb dHqnfT">756 W Peachtree St NW Atlanta GA 30308

但我想把>之前的一切都排除在756之外

我该怎么把这个包括进去?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-22 23:01:27

用硒擦拭,用硒得到.

代码语言:javascript
复制
my_element = driver.find_element_by_css_selector('div[type="copy3"]')
address = my_element.text
票数 2
EN

Stack Overflow用户

发布于 2019-01-22 22:58:05

匹配一个>,然后捕获一个组中跟随的非<,然后提取该组:

代码语言:javascript
复制
type="copy3"[^>]+>([^<]+)

https://regex101.com/r/BX2tVj/1

如果只想匹配第一个<之后的内容,则必须使用lookbehind (只有在确切知道class=""属性可能包含什么的情况下才能可靠):

代码语言:javascript
复制
(?<=type="copy3" class="sc-bxivhb dHqnfT">)[^<]+

https://regex101.com/r/BX2tVj/2

或者使用regex模块,这样您就可以使用\K了。

代码语言:javascript
复制
type="copy3"[^>]+>\K[^<]+

https://regex101.com/r/BX2tVj/3

代码语言:javascript
复制
import regex
str = '<div type="copy3" class="sc-bxivhb dHqnfT">756 W Peachtree St NW Atlanta GA 30308</div>'
match = regex.search(r'type="copy3"[^>]+>\K[^<]+', str)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54317630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档