文章详情页
java或scala中正则表达式的简化问题
浏览:115日期: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 - 我的myeclipse一直连显示数据库连接失败,不知道为什么2. docker网络端口映射,没有方便点的操作方法么?3. nginx - 关于javaweb项目瘦身问题,前期开发后,发现项目占用存贮空间太大,差不多1.2个G,怎么实现瘦身,动态页面主要是jsp。4. java - 请教一个IO的问题5. node.js - 问个问题 Uncaught (in promise)6. jquery - 移动端如何写弹性效果7. angular.js - angular内容过长展开收起效果8. python爬虫 - scrapy使用redis的时候,redis需要进行一些设置吗?9. mysql - 为什么where条件中or加索引不起作用?10. 系统重装后,恢复mysql5.5?
排行榜

网公网安备