文章详情页
java或scala中正则表达式的简化问题
浏览:91日期: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. mysql主从,从库锁表会导致复制阻塞吗?2. windows-7 - win7下使用cmder,如何设置vim的tab为4个空格?3. Java。如何将文本追加到file.txt的顶部4. javascript - js对象 属性的访问和创建5. java - socket类服务端如何防止被ddos攻击?6. javascript - phoneswipe点击图片怎么让图片全屏?7. css - Angular2中怎么不通过路由实现多个button的切换效果?8. c++ - win764位环境下,我用GCC为什么指针占8个字节,而long是4个字节?9. python - 有一个函数名(字符串形式),如何能够调用这个函数?10. MySQL的SELECT...FOR UPDATE究竟起什么作用
排行榜

网公网安备