源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java中 利用正则表达式提取( )内内容

  • 时间:2020-10-27 22:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java中 利用正则表达式提取( )内内容
昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号) 教师10(0010) 教师11(0011) 教师9(009) 教师12(0012) 教师13(0013) 教师14(0014)    本来想用java的String.split()和substring()来搞定,但是需要处理多次比较麻烦,就用正则表达式了。虽然语法忘得差不多了,但是印象中用断言比较方便(关键希望结果不带括号)。打开RegexBuddy试了下,轻松搞定: [img]http://files.jb51.net/file_images/article/201304/201304140001.jpg[/img] 下边是java实现代码:
[u]复制代码[/u] 代码如下:
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;     }
最后附一下用到的零宽断言:
宽断言 (?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置
 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部