文章详情页
java或scala中正则表达式的简化问题
浏览:125日期: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. dockerfile - 为什么docker容器启动不了?2. 为什么我ping不通我的docker容器呢???3. debian - docker依赖的aufs-tools源码哪里可以找到啊?4. angular.js - angular内容过长展开收起效果5. angular.js使用$resource服务把数据存入mongodb的问题。6. docker - 如何修改运行中容器的配置7. javascript - 关于火狐浏览器 XML 解析错误:格式不佳的问题8. mac里的docker如何命令行开启呢?9. javascript - h5上的手机号默认没有识别10. java - xml 传输数据如何处理更好
排行榜

网公网安备