国产探花免费观看_亚洲丰满少妇自慰呻吟_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的位置

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临桂县| 玉树县| 广德县| 漾濞| 疏附县| 陆良县| 尚志市| 建昌县| 陕西省| 明水县| 灵石县| 青海省| 南宫市| 蒙自县| 康马县| 闵行区| 西藏| 团风县| 云和县| 元江| 芮城县| 长沙县| 靖州| 左贡县| 营山县| 卓资县| 客服| 深州市| 伊通| 育儿| 抚宁县| 沙坪坝区| 惠州市| 阿拉善左旗| 临夏市| 墨脱县| 建平县| 苏尼特左旗| 高密市| 海南省| 阿瓦提县|