Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 通过正则表达式从图像中删除链接_Regex_Notepad++ - Fatal编程技术网

Regex 通过正则表达式从图像中删除链接

Regex 通过正则表达式从图像中删除链接,regex,notepad++,Regex,Notepad++,我想删除网站上图像周围的链接。我将SQL文件导出到notepad++。使用搜索和替换,我试图删除这个链接(regex)。我想保留这些图像本身 在notepad++中,我使用以下代码(请参阅) ( 有人能解决这个问题吗?你有两个问题,实际上是三个: 标记的开头和a之间有额外的空白,因此第一个模式匹配得太多: 试着这样做: (<\s*a\s+href=[^>]+>)<img[^>]+>(<\/a>) (]+>)]+>() 我还建议使用固定端标记模

我想删除网站上图像周围的链接。我将SQL文件导出到notepad++。使用搜索和替换,我试图删除这个链接(regex)。我想保留这些图像本身

在notepad++中,我使用以下代码(请参阅)

(


有人能解决这个问题吗?

你有两个问题,实际上是三个:

标记的开头和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>