2017-01-17 95 views
3

我想刪除單詞類別及其內容,並保留其他標記,而不影響段落裏面的話:刪除單詞類及其內部<img>標籤內容

<p class="Firstpara"><i>Let S be a regular surface, p</i> ∈ <i>S, and <span class="inline"/><img alt="" class="img_Owthpnkbckgrnd_jpg_w23h25_v-10px" src="../Images/img_Owthpnkbckgrnd.jpg" style=""/> = <img alt="" class="img_Owthpnkbckgrnd_jpg_w23h25_v-10px" src="../Images/img_Owthpnkbckgrnd.jpg" style=""/><sub>ϵ</sub></i>(<i>p</i>) <i>a normal neighborhood of p. Then every geodesic segment in <img alt="" class="img_Owthpnkbckgrnd_jpg_w23h25_v-10px" src="../Images/img_Owthpnkbckgrnd.jpg" style=""/> beginning at p is uniquely minimizing.</i></p> 

我試圖用這個表達式和執行它記事本+ +:

查找內容:

(<img.*)(class=".*?")(.*?/>) 

與更換

$1$3 

但它未能保留段落內的單詞。

+0

只有正則表達式爵士。 –

+0

儘管如此,Regex是錯誤的工具。如果標籤內有換行符會怎麼樣? – JXG

回答

0

你可以試試這個:

(<img[^\/]*?)class="[^"]*"(.*?\/>) 

Explanation

const regex = /(<img[^\/]*?)class="[^"]*"(.*?\/>)/g; 
 
const str = `<p class="Firstpara"><i>Let S be a regular surface, p</i> ∈ <i>S, and <span class="inline"/><img alt="" class="img_Owthpnkbckgrnd_jpg_w23h25_v-10px" src="../Images/img_Owthpnkbckgrnd.jpg" style=""/> = <img alt="" class="img_Owthpnkbckgrnd_jpg_w23h25_v-10px" src="../Images/img_Owthpnkbckgrnd.jpg" style=""/><sub>ϵ</sub></i>(<i>p</i>) <i>a normal neighborhood of p. Then every geodesic segment in <img alt="" class="img_Owthpnkbckgrnd_jpg_w23h25_v-10px" src="../Images/img_Owthpnkbckgrnd.jpg" style=""/> beginning at p is uniquely minimizing.</i></p>`; 
 
const subst = `$1$2`; 
 

 
const result = str.replace(regex, subst); 
 

 
console.log(result);

+0

感謝Sir Maverick爲此。 –

相關問題