文章详情页
java或scala中正则表达式的简化问题
浏览:120日期: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. boot2docker无法启动2. java - SSH框架中写分页时service层中不能注入分页类3. docker安装后出现Cannot connect to the Docker daemon.4. 关于docker下的nginx压力测试5. node.js - antdesign怎么集合react-redux对input控件进行初始化赋值6. 老师,按tab键不起作用怎么回事7. javascript - 在typescript中如何动态export8. html - input中radio为什么多选9. javascript - js如何获取app保存的TOKEN?10. javascript - 怎么用空白DIV填充的方法解决列表数据过多的问题?
排行榜

网公网安备