2012-02-14 71 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