我正在尝试将图像包含在锚点中。我知道这样做的好习惯是解析DOM,但我想在这里节省内存。
<a href=''><img src=''></a>
上述示例的解决方案非常简单<a[^>]*?href=['\"](.*?)['\"][^>]*?>[\s\S]*?<img
。但在更复杂的例子中
<a href=''></a><a href=''><img src=''></a>
正则表达式失败了,并且用错误的锚收集整个字符串,我需要以某种方式添加负面的预测,到目前为止我正在尝试的是(?!</a>)<a[^>]*?href=['\"](.*?)['\"][^>]*?>[\s\S]*?<img
但是由于某种原因它没有任何区别。
答案 0 :(得分:1)
对中间.*
和[\s\S]*
进行否定前瞻检查。因为它也匹配结束锚标记。
<a[^>]*?href=['\"](?:(?!<\/a>).)*?['\"][^>]*?>(?:(?!<\/a>)[\s\S])*?<img