文章詳情頁
java或scala中正則表達式的簡化問題
瀏覽:41日期: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
相關文章:
1. angular.js - angularjs的自定義過濾器如何給文字加顏色?2. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?3. docker網絡端口映射,沒有方便點的操作方法么?4. python - flask報錯ValueError: invalid key ’nicknickname’5. docker gitlab 如何git clone?6. Span標簽7. javascript - node安裝后,npm老是報不是內部命令,如何解決呢?8. docker綁定了nginx端口 外部訪問不到9. javascript - 關于vue組件之間的通信10. angular.js - angularjs resizable控件
排行榜
