【发布时间】:2015-12-25 14:29:27
【问题描述】:
我正在做一个项目,我需要搜索特定的字符串标记并查找该标记是否具有 [3:0] 格式的数字,我该如何检查它?我搜索了有关堆栈溢出的参考,我可以找到如何在如下字符串中搜索“{my string}:”:
String myStr = "this is {my string: } ok";
if (myStr.trim().contains("{my string: }")) {
//Do something.
}
但是,找不到如何在正则表达式中搜索字符串是否包含数字,我尝试使用以下方法,但它不起作用:
String myStr = "this is [3 string: ] ok";
if (myStr.trim().contains("[\\d string: ]")) {
//Do something.
}
请帮忙!
【问题讨论】:
-
应该是
\\[(\\d+)\\] -
String#contains不解析正则表达式。 -
字符
[]在正则表达式中是特殊的。所以在String切换到合适的方法后,看看regex tag wiki,里面有很多关于正则表达式的资料。 -
我试过但它不起作用:String myStr1 = "this is [3 string: ] ok"; if (myStr1.trim().contains("\[(\\d+) string: \]")) { //做点什么。 System.out.println("它在这里!"); }
-
作为提示:在线尝试正则表达式解析器,例如regexr.com
标签: java regex string match contains