我需要知道是否检查一个字符串是否以.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