您的位置:首頁技術文章
文章詳情頁

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
相關文章:
国产综合久久一区二区三区