文章詳情頁
java或scala中正則表達式的簡化問題
瀏覽:58日期:2023-11-07 10:25:32
問題描述
現有一個需求,要求檢測某個字符串是否是6個八位的十六進制數字以下劃線相連,例如:'1234567F_1234567F_1234567F_1234567F_1234567F_1234567F'我自己寫了一個正則進行匹配,如下:
'^[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}$'
這個正則可以匹配成功,但是感覺太復雜了,重復的內容過多,能不能進行簡化?
問題解答
回答1:我可能這么寫^([0-9a-fA-F]{8}_){5}[0-9a-fA-F]{8}$.
既然題主能用{8}了,那可以考慮把前面 八位十六進制數字+’_’ 也用個數字來表達出現次數了。
回答2:可以把[0-9a-fA-F]再簡化一下:
^([^W_]{8}_){5}[^W_]{8}$
標簽:
java
相關文章:
排行榜
