2013-01-31 69 views
0

這可能是一個相當簡單的問題來解決,butI'm試圖在字符串中使用正則表達式,並將它刪除包含任何尺寸屬性SRC,像這樣:一個正則表達式刪除SRC屬性,其尺寸在

src="/some/path/here_000x000.jpg" 

所以

<img src="/some/path/here_000x000.jpg"/> 

將處理後成爲

<img /> 

從研究我發現,

\d{1,5}x\d{1,5} 

發現尺寸和

src\s*=\s*"(.+?)" 

會發現一個src屬性,但我怎麼能結合這些都和掌握一些簡單的C#代碼,其中所有匹配模式在給定的字符串中被刪除(即替換爲'')?

非常感謝

回答

2
src\s*=\s*"[^"]*?\d+x\d+.*?" 

從技術上說,你不應該限制數字五(儘管不應該有一個需要這樣)。

這個匹配src(1),任意數目的空格(2),=(3),任何數量的空間(2),"(4),任何數量的任何字符(除")(非貪婪地)(5),任意正數位數(6),x(7),任意正數位數(6),任意數量的任何字符(除了換行符)(非貪婪)(8)和"(3) )。

  1. src
  2. \s*
  3. =
  4. "
  5. [^"]*?
  6. \d+
  7. x
  8. .*?
+0

這個工作完美,謝謝! – ComethTheNerd

+0

@HodeCode,沒問題。不要忘了儘可能地接受它。 :) –

+0

這不起作用...'。*?'是有意義的..它也可以在另一個'src'標籤中匹配'\ d + x \ d +',然後替換多個src標籤。 – Anirudha

2

你可以使用這個表達式

src\s*=\s*"[^"]*\d+x\d+[^"]*" 

逃生"""

+0

你可以舉一些C#示例使用Regex.Replace,所以我可以看到你是如何使用這個請 – ComethTheNerd

+0

@HodeCode你可以使用'Regex.Replace(input,regex,replace)'。 .Replace方法會返回一個新的被替換的字符串.. – Anirudha

+0

但是,如何將它用作代碼中的字符串,因爲它有雙引號。 – ComethTheNerd

0

試試這個正則表達式:

src=".*?\d+x\d+\.\w+" 

它將匹配1個或多個數字

相關問題