发布网友 发布时间:2022-04-19 04:34
共3个回答
懂视网 时间:2022-04-19 08:55
获取大括号小括号内容
项目开发用到了,暂做个简单记录
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使用正则表达式提取小括号中的内容
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正则表达式获取大括号小括号内容并判断数字和小数亲测可用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
热心网友 时间:2022-04-19 06:03
1.就用LS的例子来改进吧,LS的例子用正则匹配的捕获型,也就是说除了捕获了/patroninfo~S0*chx/1069163/modpinfo,还捕获了带单引号的 '/patroninfo~S0*chx/1069163/modpinfo‘ (输出 System.out.println(mat.group(0) 就是);热心网友 时间:2022-04-19 07:21
String str = "<a href=\"#\" onClick=\"return open_new_window( '/patroninfo~S0*chx/1069163/modpinfo' )\">";