手机
当前位置:查字典教程网 >编程开发 >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 jni调用c函数实例分享(java调用c函数)

基于java中正则操作的方法总结

java中数组的应用及方法

Java 正则表达式 解释说明

java中常用的排序方法

java中通过网卡名称获取IP地址

java随机字符补充版

精品推荐
分类导航