文章详情页
java或scala中正则表达式的简化问题
浏览:80日期: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. PHP类中的$this2. python - 版本号对比方法优化3. css - 关于移动端定位position准确的问题?4. javascript - 为什么在谷歌控制台 输出1的时候,输出的1立马就不见了5. node.js - nodejs单进程产生的数据库连接多线程并发问题探讨6. css - 浏览器开发者工具怎么审查keyframe动画7. 请教python编码风格和异常处理问题8. python - 有一个函数名(字符串形式),如何能够调用这个函数?9. javascript - vue+element UI中selecter总是显示初始值,不显示placeholder值10. html5 - 小程序手机预览图片整体上移
排行榜
