2016-07-19 52 views
0

我想替換下面的字符串。用正則表達式替換字符串部分

img/s/430x250/ 

問題是有變化,如:

img/s/265x200/ 

或:

img/s/110x73/ 

所以我想在整個更換這部分,但數字是可變的,所以我怎麼能做出一個模式,從字符串中取代它?

+3

你的代碼失敗了嗎?請分享。 –

+0

您是否閱讀過「Pattern」的文檔? https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html(特別是關於「預定義字符類」的部分) – Sam

+0

什麼讓你覺得這可能是可能的?換句話說:你只是在這裏放棄了一項要求;但我們希望您向我們證明您嘗試自己解決問題。 – VatsalSura

回答

0

這個正則表達式匹配您的例子

img\/s\/\d+?x\d+?\/ 

的/匹配/ 的\ d匹配數字0〜 9和+意味着1或更多。這個?使它懶惰而不是貪婪。

的IMG和S只是匹配字面上

退房https://regex101.com/嘗試正則表達式。這比通過調試代碼來測試它們要容易得多。一旦找到可用的表達式,就可以繼續確保您的特定代碼執行相同的操作。

+0

你不能在regex101中測試java的正則表達式 –

+0

它並不總是適用於.net,但它通常是這樣,它是一個很好的起點 – drxl

+0

例如,這是專門爲java:http://www.regexplanet.com /advanced/java/index.html –

1

您的目標是匹配所有這三種情況嗎?

如果是的話,這應該工作:img\/s\/\d+x\d+\/

它搜索img/s/[1 or more digits]x[1 or more digits]/