如何找到两个组并使用regexp替换另一个组?

时间:2012-02-14 20:36:35

标签: php regex replace

我的情况是,我需要在某些文字中找到2个论坛,并将$1替换为$2

我不确定这是可能的。另外,我不想使用php而是简单的搜索和替换。

请参阅here或查看此文:

<li>
<div>
    <a href="/video/testimonials/video-477" class="shadow"></a>
</div><div class="videoTb_title">Kevin Austin</div>
</li>

我想要的是找到video-477并将其替换为Kevin Austin

这只是一个例子,我有更多的li,它们有不同的名称和视频ID

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:0)

我们确实需要有关所有元素结构的更多信息,以确保我们能够生成始终有效的正则表达式。

以下是适用于您的示例的正则表达式示例:

/video/testimonials/([^"]+)

“video-477”将以1美元存储。

答案 1 :(得分:0)

假设/视频/推荐实际上是您的大部分网址的一部分,您可以使用以下正则表达式进行捕获和替换:

(<a[^"]+\"/video/testimonials/)([^"]+)(\".+</a>\r?\n?.*?videoTb_title\"\>)([^<]+)</div>

替换为

$1$4$3$4$5</div>

请记住,您的示例已被接受:href =“/ video / testimonials / Kevin Austin”,在网址中使用空格可能被视为不良做法。