昨天遇到一個小問題,需要批次處理一些用戶,而前台傳來的用戶格式如下,要提取括號中間的內容(不帶括號)
教師10(0010)
教師11(0011)
教師9(009)
教師12(0012)
教師13(0013)
教師14(0014)
本來想用java的String.split()和substring()來搞定,但要處理多次比較麻煩,就用正規表示式了。雖然文法忘得差不多了,但是印像中用斷言比較方便(關鍵希望結果不帶括號)。打開RegexBuddy試了下,輕鬆搞定:
下邊是java實作程式碼:
最後附一下用到的零寬斷言:
寬斷言 | (?=exp) | 匹配exp前面的位置 |
---|---|---|
(?<=exp) | 匹配exp後面的位置 | |
(?!exp) | 匹配後面跟的不是exp的位置 | |
(?<!exp) | 匹配前面不是exp的位置 |