我需要知道是否檢查一個字符串是否以.xyz結尾加上任何後面的字符。檢查字符串是否以Java結尾(正則表達式)
像這樣:
myString.endsWidth(".css*")
然而,這並不通過我的if語句。一個具體的例子是這種字符串:style.css?v=a1b23
任何想法?
完整示例字符串:
http://xyz.com//static/css/style.css?v=e9b34
我需要知道是否檢查一個字符串是否以.xyz結尾加上任何後面的字符。檢查字符串是否以Java結尾(正則表達式)
像這樣:
myString.endsWidth(".css*")
然而,這並不通過我的if語句。一個具體的例子是這種字符串:style.css?v=a1b23
任何想法?
完整示例字符串:
http://xyz.com//static/css/style.css?v=e9b34
哼哼,我猜是這樣的,甚至更好:
return myString.indexOf(".css")>-1;
如果你真的想要去與正則表達式,你可以使用這個
return myString.matches(".*?\\.css.*");
我試過「。*?\\。css。*」,但仍然不會「工作...... – xybrek 2012-03-30 13:17:36
剛剛嘗試過:」style.css?v = a1b23「.matches(」。*?\\。css。*「)並返回'真',所以你必須有其他問題 – 2012-03-30 13:20:42
使用".*\.css.+"
作爲您的常規e的表達。
我不知道這不工作呢?完整的字符串應該是這樣的:http://xyz.com//static/css/style.css?v=e9b34 – xybrek 2012-03-30 13:19:39
你認爲埃裏克的答案?你需要使用'match(String)',而不是'endsWith(String)'。順便更新了表達式。 – 2012-03-30 13:25:22
endsWith
採用字符串作爲參數
matches
接受一個正則表達式
使用\.(.{3})(.*)
則第一組($ 1)包含三個字符.
之後並且在第二組$ 2包含的字符串之後的其餘部分那三個角色。在表達式的末尾添加$符號,使其僅查找與該組合
嘗試一些正則表達式結尾的字符串:
Pattern p = Pattern.compile(".*\.css.*");
Matcher m = p.matcher("mystring");
if (m.matches()) {
// do your stuff
}
的endsWith不使用正則表達式。 – claesv 2012-03-30 13:12:10