2013-01-17 40 views
0

我用記事本+ +,我需要找到標籤正則表達式來查找第一個標籤

<font face="arial" size="4"> 

直到

</font></td> 

我嘗試這樣做:

<font face="arial" size="4">(.*)</font>(.*)</td> 

但它找到的所有啓動從第一行到最後一行。但我需要找到的第一個「字型」與其相鄰或最接近/ FONT/td標籤的第一場比賽,然後找到在同一文本的下一個..等

示例文本:

<font face="arial" size="4">text text [email protected]:d</font></td> 

<font face="arial" size="4">some text<br /> 
any more text 
    </font> </td> 

morel;owkjdgkd dhfksg h 

<font face="arial" size="4">some text</font><p> 
more text</font> </td> 

然後我需要更換兩個標籤: 與

<span style="font-size: 14pt; font-family: Times; lang=en-us"> 

第一和第二有:

</span></td> 

回答

0

嘗試懶惰:

<font face="arial" size="4">[\s\S]*?</font>[\s\S]*?</td> 

使用[\s\S]匹配包括換行符的任何字符,並添加惰性限定符?作爲幾次儘可能</font></td>出現之前匹配。

如果</font></td>標籤之間只有空格,那麼顯然可以使用\s*而不是[\s\S]*?。 (我注意到你的榜樣HTML格式不正確的,因爲它包含了</font>標籤下面一個</font>標籤。)

您可以使用這些方針的東西,使更換:

<font face="arial" size="4">([\s\S]*?)</font>([\s\S]*?)</td> 

<span style="font-size: 14pt; font-family: Times; lang=en-us">\1</span>\2</td> 
+0

的偉大工程..謝謝。 。我需要其他的東西,用另一個標籤替換標籤(例如:相同的文本),並保留兩個「查找」標籤之間的所有文本和標記,如 – Mike

+0

@Mike。增加了示例替換。 – MikeM

+0

我試過了\ 1 \ 2,但是它刪除了文本..我更新了這個例子的問題以替換爲 – Mike