【发布时间】:2015-10-17 01:09:12
【问题描述】:
我想识别字符串中相对于我搜索的字符串定位的字符。
换句话说,如果我在下面的字符串中搜索“示例文本”,我想识别“示例文本”之前和之后的直接字符,并且还有“”。
例如,如果我在下面的字符串中搜索“示例文本”,我希望函数返回 <h3> 和 </h3>,因为它们是紧接在它之前和之后的字符。
String = "</div><p></p> Random Other Text <h3>Example Text</h3><h3>Coachella Valley Music & Arts Festival</h3><strong>Random Text</strong>:Random Date<br/>"
【问题讨论】:
-
你如何定义“之前和之后的立即字符”?
<h3>是 4 个字符,而</h3>是 5 个字符。如果是<span id="example_text">怎么办? -
这听起来像是一个 XY 问题。您应该使用
xml解析器,例如lxml,并通过文本进行 xpath 搜索。任何用正则表达式解析的 html 都只会以泪水告终。 -
为什么要用正则表达式解析 html?
-
@PadraicCunningham,我没有意识到不应该用正则表达式解析 html。如果有人犯同样的错误,我会将正则表达式作为标签。
标签: python html regex string parsing