项目开发用到了,暂做个简单记录
java" id="highlighter_761405">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
private static String regex = "\\{([^}]*)\\}" ; //匹配大括号
private static String regexx = "\\(([^}]*)\\)" ; //匹配小括号
public static void main(String[] args) {
String dakuohao = "{a+b}={c+d}>{d}" ;
Pattern compile = Pattern.compile(regex);
Matcher matcher = compile.matcher(dakuohao);
while (matcher.find()){
String group = matcher.group();
System.out.print(group+ ";" );
}
System.out.println();
String xiaokuohao = "(a+b)=(c+d)>(d)" ;
Pattern comp = Pattern.compile(regex);
Matcher mat = comp.matcher(dakuohao);
while (mat.find()){
String group = mat.group();
System.out.print(group+ ";" );
}
}
|
匹配大括号和小括号的表达式,只有转义后面的符号变了,是不是也可以换成别的
对称的符号呢
判断数字或者小数或数字小数混合
整数 ^([0-9]{1,}[.][0-9]*)$
小数 ^([0-9]{1,}[.][0-9]*)$
测试的时候我也找了不少博客,感觉多数人的都不能避免数字中的特殊符号
小数和数字混合 (^[0-9]*$)|(^([0-9]{1,}[.][0-9]*)$)
ps:java使用正则表达式提取小括号中的内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public class Test {
public static List<String> getMsg(String msg) {
List<String> list = new ArrayList<String>();
Pattern p = Pattern.compile( "(\\()([0-9a-zA-Z\\.\\/\\=])*(\\))" );
Matcher m = p.matcher(msg);
while (m.find()) {
list.add(m.group( 0 ).substring( 1 , m.group().length() - 1 ));
}
return list;
}
public static void main(String[] args) throws Exception {
String msg = "mSurface=Surface(name=com.bbk.launcher2/com.bbk.launcher2.Launcher)" ;
List<String> list = getMsg(msg);
System.out.println(list);
}
}
|
总结
以上所述是小编给大家介绍的java正则表达式获取大括号小括号内容并判断数字和小数亲测可用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://blog.csdn.net/xuxie13/article/details/89456853