文章详情页
java或scala中正则表达式的简化问题
浏览:176日期: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. 网页爬虫 - python 爬取网站 并解析非json内容2. javascript - vuex store.watch()是什么意思3. spring - mysql中事务是互斥的么?4. linux - 为什么我在mysql的my.cnf下找不到bind-address?5. html - css权威指南的一处疑问(与盒子模型有关)6. php - 称谓表和积分规则表应该如何设计?7. python - 使用`zipfile`模块在不解压缩的情况下如何使用text模式读取文本文件?8. css - input怎么修改光标的颜色?9. java - mysql隔天自动删除数据10. 在别的电脑使用JDBC连接其他电脑上安装的mysql数据库
排行榜

网公网安备