国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中 利用正則表達式提取( )內內容

2019-11-26 16:12:01
字體:
來源:轉載
供稿:網友

昨天遇到一個小問題,需要批量處理一些用戶,而前臺傳來的用戶格式如下,要提取括號中間的內容(不帶括號)

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

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 自贡市| 固镇县| 灵台县| 婺源县| 太仓市| 安徽省| 托里县| 怀集县| 慈溪市| 和田市| 丰原市| 高清| 高平市| 故城县| 肇东市| 栾川县| 工布江达县| 达日县| 乡城县| 荆州市| 青田县| 平乐县| 云浮市| 外汇| 伊宁县| 浮梁县| 班戈县| 喀喇沁旗| 百色市| 苏尼特右旗| 曲沃县| 金溪县| 凤山市| 纳雍县| 富源县| 仁寿县| 宜君县| 承德市| 平江县| 东光县| 潜山县|