本篇文章,小编为大家介绍关于java中 利用正则表达式提取( )内内容,有需要的朋友可以参考一下
昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号)
教师10(0010)
教师11(0011)
教师9(009)
教师12(0012)
教师13(0013)
教师14(0014)
本来想用java的String.split()和substring()来搞定,但是需要处理多次比较麻烦,就用正则表达式了。虽然语法忘得差不多了,但是印象中用断言比较方便(关键希望结果不带括号)。打开RegexBuddy试了下,轻松搞定:
下边是java实现代码:
代码如下:
CoverPrise品牌官网建站系统现已升级!(原天伞WOS企业建站系统)出发点在于真正在互联网入口方面改善企业形象、提高营销能力,采用主流的前端开发框架,全面兼容绝大多数浏览器。充分考虑SEO,加入了门户级网站才有的关键词自动择取、生成,内容摘要自动择取、生成,封面图自动择取功能,极大地降低了使用中的复杂性,百度地图生成,更大程度地对搜索引擎友好。天伞WOS企业建站系统正式版具有全方位的场景化营
public ListgetTeacherList(String managers){ List ls=new ArrayList (); Pattern pattern = Pattern.compile("(?<=\\()(.+?)(?=\\))"); Matcher matcher = pattern.matcher(managers); while(matcher.find()) ls.add(matcher.group()); return ls; }
最后附一下用到的零宽断言:
立即学习“Java免费学习笔记(深入)”;
| 宽断言 | (?=exp) | 匹配exp前面的位置 |
|---|---|---|
| (? | 匹配exp后面的位置 | |
| (?!exp) | 匹配后面跟的不是exp的位置 | |
| (? | 匹配前面不是exp的位置 |










