标签: regex
我想从HTML标记之间提取静态文本:
<p> text here <span> text here <b>too</b></span> </p>
到目前为止我有这个正则表达式:
(<|<)[\s\/\?]*(\w+)(?<attributes>.*?)[\s\/\?]*(>|>)(\n|.)*?<\/\2>
我不想使用HTML解析器。任何帮助。谢谢!
答案 0 :(得分:0)
使用RegEx解析HTML是坏主意(tm)。
查看here,here和here,了解有关此主题的更多/更好的智慧词汇。
答案 1 :(得分:0)
使用正则表达式解析HTML通常是一个坏主意,但这并不是您在这里尝试做的。你真正想要的就是删除HTML标签。在您的示例中,您尝试匹配标记并解析属性。但你不需要这样做。
如果以下假设成立:
<p>
然后您需要做的就是去除模式</?[^>]+>。
</?[^>]+>
Escaped,在vim中,这是:
s/<\/\?[^>]\+>//g