手机
当前位置:查字典教程网 >编程开发 >Java >java中 利用正则表达式提取( )内内容
java中 利用正则表达式提取( )内内容
摘要:昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号)教师10(0010)教师11(0011)...

昨天遇到一个小问题,需要批量处理一些用户,而前台传来的用户格式如下,要提取括号中间的内容(不带括号)

教师10(0010)

教师11(0011)

教师9(009)

教师12(0012)

教师13(0013)

教师14(0014)

本来想用java的String.split()和substring()来搞定,但是需要处理多次比较麻烦,就用正则表达式了。虽然语法忘得差不多了,但是印象中用断言比较方便(关键希望结果不带括号)。打开RegexBuddy试了下,轻松搞定:

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

下边是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) 匹配前面不是exp的位置

【java中 利用正则表达式提取( )内内容】相关文章:

java中常用的排序方法

Java 正则表达式 解释说明

java正则表达式应用的实例代码

java 键盘输入的多种实现方法

深入java事件注册的应用分析

Java中CyclicBarrier的用法分析

在java中使用dom解析xml的示例分析

解析Tomcat 6、7在EL表达式解析时存在的一个Bug

java利用数组求平均值,最大值,最小值

java异或加密算法

精品推荐
分类导航