Regex 通过正则表达式从图像中删除链接
我想删除网站上图像周围的链接。我将SQL文件导出到notepad++。使用搜索和替换,我试图删除这个链接(regex)。我想保留这些图像本身 在notepad++中,我使用以下代码(请参阅)Regex 通过正则表达式从图像中删除链接,regex,notepad++,Regex,Notepad++,我想删除网站上图像周围的链接。我将SQL文件导出到notepad++。使用搜索和替换,我试图删除这个链接(regex)。我想保留这些图像本身 在notepad++中,我使用以下代码(请参阅) ( 有人能解决这个问题吗?你有两个问题,实际上是三个: 标记的开头和a之间有额外的空白,因此第一个模式匹配得太多: 试着这样做: (<\s*a\s+href=[^>]+>)<img[^>]+>(<\/a>) (]+>)]+>() 我还建议使用固定端标记模
(
有人能解决这个问题吗?你有两个问题,实际上是三个:
标记的开头和a之间有额外的空白,因此第一个模式匹配得太多:
试着这样做:
(<\s*a\s+href=[^>]+>)<img[^>]+>(<\/a>)
(]+>)]+>()
我还建议使用固定端标记模式
最后,它看起来像是一个一次性的工作。但是,不建议使用正则表达式解析/操作HTML
正如在评论中所讨论的,围绕图像的捕获组有助于将其重新插入到替换中
<\s*a\s+href=[^>]+>(<img[^>]+>)<\/a>
]+>(]+>)
替换为:在正则表达式模式下:$1
您的预期输出是什么?请提供一些预期输入/输出,以便我们确切地知道您希望发生什么。如果没有这些,就有点难以准确地理解您正试图做什么。嗨,詹姆斯,我已经重写了问题并添加了更多信息:)如果img标签在它自己的捕获组中会更好吗?那么你以后可以用$1
替换这场比赛吗?是的,我完全同意。然而,这个问题并不清楚,因此我们将注意力集中在所讨论的正则表达式上。@SteveEdson你真的救了我一天:)工作完美无瑕!他曾在谷歌上搜索,并尝试了很多方法来实现它。但是正则表达式并不是最容易学的东西。是的,这是一个一次性的工作。一个旧的“凌乱”网站,需要进行适当的清理。但是手工操作是不可能的(1600多页)。非常感谢:)@wp78de我已将img标签放入一个单独的组(]+>)(]+>)()谢谢:)@peterportinga如果答案有助于解决问题,请向上投票/接受。
<\s*a\s+href=[^>]+>(<img[^>]+>)<\/a>