文章详情页
java或scala中正则表达式的简化问题
浏览:128日期: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. android - 优酷的安卓及苹果app还在使用flash技术吗?2. angular.js - angular ng-focus ng-blur 存在问题3. android - 使用百度sdk调用SDKInitializer.initialize(this)时报错?4. celery+redis 怎么看redis里面的内容5. 为什么redis中incr一个“0” 会报错?6. 浅谈Vue使用Cascader级联选择器数据回显中的坑7. android - TextInputLayout的空白显示问题8. javascript - 最近用echarts做统计图时遇到两个问题!!9. 关于layuiadmin中表格按钮提交问题求解!!!!10. PHP类属性声明?
排行榜

网公网安备