问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助java正则表达式将括号里的内容提取出来

发布网友 发布时间: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) 就是);
这样无论在效率还是安全性上都有欠缺。
2 Pattern.compile("\\'(.*?)\\'")也可以改为Pattern pat = Pattern.compile("\'(.*?)\'"),减少代码冗余和理解复杂度。

捕获用法:
public class Test {
public static void main(String[] args) {
String str = "<a href=\"#\" onClick=\"return open_new_window( '/patroninfo~S0*chx/1069163/modpinfo' )\">";
Pattern pat = Pattern.compile("\'(.*?)\'");
Matcher mat = pat.matcher(str);
if (mat.find()) {
System.out.println(mat.group(1));
}
}
}

非捕获方法:
public class Test {
public static void main(String[] args) {
String str = "<a href=\"#\" onClick=\"return open_new_window( '/patroninfo~S0*chx/1069163/modpinfo' )\">";
Pattern pat = Pattern.compile("(?<=\').*(?=\')");
Matcher mat = pat.matcher(str);
if (mat.find()) {
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' )\">";
Pattern pat = Pattern.compile("\\'(.*?)\\'");
Matcher mat = pat.matcher(str);
if (mat.find()) {
System.out.println(mat.group(1));
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
笔记本电脑的哪些牌子什么牌子的笔记本电脑好 笔记本电脑品牌质量排行榜你知道哪个最耐用全面解析笔记本电脑品牌的质 ... 十大笔记本电脑品牌笔记本电脑推荐品牌 各大汽车电脑品牌厂家官方售后服务电话合辑v3.00 哪种笔记本电脑售后好哪个品牌电脑售后好 各大笔记本电脑品牌售后网点及售后电话汇总解决您笔记本电脑问题的选 ... 如何教育孩子成学霸 学霸的家长是怎样培养孩子的? 聪明的懒孩子怎么变成学霸 学霸孩子怎么培养 公务员交辞职报告一个月后可以离岗吗? 公务员辞职报告的期限 梦见去车站的路很难走,结果去了没有车了,只有去了去世的姑家姐姐家? 公务员辞职报告会放入档案吗 公务员提交辞职报告后多久可以走 怎样做好成本管理? 众安在线保险属于中国人民保险吗 各车友,前叶子板凹陷,找外面无痕修复好还是4S直接 苹果枝条嫁接到李子,桃子树上可以吗? JAVA正则表达式获取大括号内容 红叶李做砧木嫁接李子栽种密度需要多少? 怎样使用嫁接机嫁接李子 李子树如何嫁接 如何嫁接李子树苗 嫁接李子苗 李子苗木嫁接技术 excel一列每隔20个行加一个词怎么操作 关于excel查找相同数据并将相同的数据末尾加1 2 3 ? Excel从左向右拖动依次尾数加一 Excel里如何做到每隔3个数字加1 EXCEL中每隔一列其中的数值增加一个,怎么做 在Excel同列逐行或每间隔一行,IP地址最后一位如何加1? 霍金预测人类将于什么时候灭亡 手机怎样开网店?淘宝网店怎么申请具体流程? 人类什么时候会灭绝? 人类究竟何时会灭绝? 人类大约几几年的时候会灭绝? 人类大概什么时候灭绝? 手机可以自己开网店吗 人类什么时候灭绝 人类在什么时候会灭绝? 地球什么时候爆炸,人类什么时候灭绝? 人类什么时候会灭绝 人类 什么时候 灭绝? 人类还有多少时间就灭绝? 183club中的七朵花指谁 王小玮近况,她在离婚后,事业丝毫不影响,她的新搭档叫徐子崴,你怎么看? “星光钻”劳斯莱斯古思特,落地700万,4.9秒破百,全车亮晶晶 《超级星光大道》第一届,第二届和第三届的冠亚季军各是谁? 七彩星光射太阳是什么意思? 消防设施操作员考试是否可以异地考试? 冰箱内漏修还是不修