利用正则表达式提取()内内容
发布时间:2020-12-13 23:11:39 所属栏目:百科 来源:网络整理
导读:昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号) 教师10(0010 ) 教师11( 0011 ) 教师9( 009 ) 教师12( 0012 ) 教师13( 0013 ) 教师14( 0014) 本来想用java的String.split()和substring()来搞定,但
昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号) 教师10(0010) 教师11(0011) 教师9(009) 教师12(0012) 教师13(0013) 教师14(0014) 本来想用java的String.split()和substring()来搞定,但是需要处理多次比较麻烦,就用正则表达式了。虽然语法忘得差不多了,但是印象中用断言比较方便(关键希望结果不带括号)。打开RegexBuddy试了下,轻松搞定: 下边是java实现代码: public List<String> getTeacherList(String managers){ List<String> ls=new ArrayList<String>(); Pattern pattern = Pattern.compile("(?<=()(.+?)(?=))"); Matcher matcher = pattern.matcher(managers); while(matcher.find()) ls.add(matcher.group()); return ls; } 最后附一下用到的零宽断言:
参考:deerchao大大的正则表达式30分钟入门教程 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |