2017-04-18 243 views
1

我想從我們的所有XSL模板中刪除表格單元格。 代碼如下:正則表達式正確,但在Notepad ++中無效++

<td width="100"><img src="/logos/code.png" border="0" width="100"/></td> 

的code.png是在每一個文件的不同。我正則表達式如下:

\<td.*\>\<img.*\/logos\/.*png.*\/\>\<\/td\> 

我測試了https://regex101.com/表達和它上面的字符串相匹配,但是當我試圖找到&替換用記事本++,它給了我不匹配。 我的xsl全部在一行中,所以換行不成問題。有人可以幫助我,給我一個在NP ++中工作的模式嗎?

+1

您過度使用了該模式。刪除所有'''''。 '\ <'匹配單詞位置的開始,'\>'匹配NPP中單詞位置的末尾,'/'不是特殊字符。 –

+0

你也使用貪婪的聲明 – diavolic

+1

我只是在記事本++中採取了Wiktor的建議,它的工作。另外,您可能想使用'。*?'而不是'。*'來使匹配非貪婪。 –

回答

0

您不能空格<>

這是你的正則表達式:<td.*?><img.*?\/logos\/.*?png.*?\/><\/td>。 我還爲我們的.*添加了?,以確保它不會像貪婪一樣行事。

+0

''可能會溢出很多HTML標記。 '.'不能用於解析標記文本。 –

+0

是的,你是對的。但是在XLS的情況下不應該好嗎?沒有更多的信息,我不能真正改善正則表達式。例如,不知道'src'路徑是否總是以/ logos開頭,是否有可能在src之前有一個alt標籤,等等。 –

+0

這是一個詳細的正則表達式最好的情況。 ''或類似的東西。 –