2017-04-17 70 views
0

我有一個HTML頁面,我需要刪除特定類的所有實例。我發現一個StackOverflow上的文章,但接受的解決方案並沒有在Visual Studio 2015年工作的鏈接,這篇文章列舉如下: Using Visual Studio regex to find css name within class attribute從所有HTML標記中刪除特定的類

我想

{class[ \t]*=[ \t]*"[^"]*}orgtemplate_tableentry 

,但沒有找到文本。

+0

你到目前爲止嘗試過什麼? –

+0

jQuery有一個'removeClass',我用了很多次。 –

+0

{class [\ t] * = [\ t] *「[^」] *} orgtemplate_tableentry – Techie2015

回答

1

VS2010不支持普通的正則表達式語法。現在,您需要用括號替換{...}以形成capturing group,您可以稍後參考$n反向引用(其中n是組ID)。

因此,使用

(class\s*=\s*"[^"]*)orgtemplate_tableentry 

$1替換刪除orgtemplate_tableentryclass後右位置,=附帶0+空格,"然後比"其他0+字符。

+0

您提供的@Wiktor正則表達式準確地選擇包含目標類的類屬性(「orgtemplate_tableentry 「),但它留下了一個額外的空間。例如,分配給類屬性「orgtemplate_tableentry standard」的值被替換爲值「standard」。我們如何去除「標準」類之前的空間? – Techie2015

+0

您提供的解決方案@ wiktor-stribiżew仍留下目標類被刪除的空間。 – Techie2015

+0

那麼,如果支持條件構造,試試'(class \ s * = \ s *「[^」] *?)(\ s)* orgtemplate_tableentry(?(2)(\ s *)| \ s *)'用'$ 1 $ 3'代替(參見[demo](http://regexstorm.net/tester?p=%28class%5cs*%3d%5cs*%22%5b%5e%22%5d*%3f%29) %28%5CS%29 * orgtemplate_tableentry%28%3F%282%29%28%5CS *%29%7C%5CS *%29&I =類%3D%22orgtemplate_tableentry +標準%22%0D%0aclass%3D%22standard + orgtemplate_tableentry %22%0D%0aclass%3D%22standard + orgtemplate_tableentry +複雜%22&R =%241%243))。 –

相關問題