2012-02-14 40 views
0

我有一种情况,需要在某些文本中找到2组,并用$2代替$1如何找到两个组,并使用regexp替换另一个?

我不确定这是可能的。此外,我不想使用PHP,但简单的搜索和替换。

here或看到这样的文字:

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

我要的是找出video-477Kevin Austin更换。

这只是一个例子,我有更多的李时珍是有不同的名称和视频的ID

任何想法? 感谢

+0

结构总是一样的吗? – busypeoples 2012-02-14 20:46:38

回答

0

假设/视频/推荐其实是最网址的一部分,你可以捕捉并用以下的正则表达式替换:

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

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

更换记住,你的例子被接受:href =“/ video/testimonials/Kevin Austin”,这可能被认为是在URL中使用空白的不好做法。

0

我们确实需要对所有元素的结构的详细信息,以确保我们能够产生总是工作正则表达式。

这里是一个正则表达式,将你的工作,例如一个例子:

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

“视频-477”将被存储在$ 1中。

+0

然后''>(。+)<'会抓住'凯文奥斯汀'并将其存储在'$ 2'中,但是如何在同一个搜索中找到它们? – Patrioticcow 2012-02-14 21:05:27

+0

也许使用PHP DomDocument http:// php。 net/manual/de/class.domdocument.php更有效。 – busypeoples 2012-02-14 21:28:17