项目开发用到了,暂做个简单记录
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