本篇文章,小编为大家介绍关于java中 利用正则表达式提取( )内内容,有需要的朋友可以参考一下
昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号)
教师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; }
最后附一下用到的零宽断言:
宽断言 | (?=exp) | 匹配exp前面的位置 |
---|---|---|
(?<=exp) | 匹配exp后面的位置 | |
(?!exp) | 匹配后面跟的不是exp的位置 | |
(? | 匹配前面不是exp的位置 |
Das obige ist der detaillierte Inhalt vonVerwenden regulärer Ausdrücke, um den Inhalt von () in Java zu extrahieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!