我必须像这样解析字符串:
export function someFunction() {
console.log('hi')
}
我需要用空字符串替换img标记
foo <img ... > <strong>foo</strong> bar
我已经尝试了
foo <strong>foo</strong> bar
但结果是
<img.*>
我该怎么办?
PS:html字符串格式错误
答案 0 :(得分:1)
为了匹配SO的尝试,这个答案将有三个部分 *回答你的问题 *官方咆哮 *更清洁的洗液
*
贪婪,所以它会匹配很多。有两种解决方案可供选择:
1。)*?
非贪婪匹配全部
2.)<[^>]+>
全部在括号内
永远不要使用正则表达式解析HTML。您可能遇到许多子问题错误。还有这篇文章:RegEx match open tags except XHTML self-contained tags
使用带有TagSoup https://hackage.haskell.org/package/tagsoup的XML-Parser解析。 下面是一个示例,它允许您使用Scala和tagsoup将HTML视为XML结构:https://github.com/daandi/spOCR/blob/master/src/main/scala/biz/neumann.parser/HTMLParser.scala