文章詳情頁
java或scala中正則表達式的簡化問題
瀏覽:49日期: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. docker-machine添加一個已有的docker主機問題2. angular.js - angularjs的自定義過濾器如何給文字加顏色?3. mac里的docker如何命令行開啟呢?4. 關于docker下的nginx壓力測試5. docker - 如何修改運行中容器的配置6. docker安裝后出現Cannot connect to the Docker daemon.7. 用redis開發留言板,用戶名和密碼或者留言列表應該用單獨的key來存儲嗎?8. java - 安卓實現熄屏功能。9. java - bootstrap table分頁以后,下面的分頁按鈕消失怎么辦并且如何返回總頁數10. phpstorm 沒有安裝Emmet怎么還有Emmet的相關功能啊
排行榜
