regex - 我如何简化这个正则表达式

标签 regex

^[0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4} [0-9a-f]{4}$

这是验证输入字符串的格式,例如:

a28a 3bef 1b2b 4b49 2e3d 3867 8753 a024 0000

最佳答案

您通常可以在不同级别对重复进行分组。假设您想要正好九个四位小写十六进制数字,每个数字之间有一个空格,那么就像这样简单:

^[0-9a-f]{4}( [0-9a-f]{4}){8}$

既然您已经知道[0-9a-f]{4}的含义,唯一需要解释的是添加的( [0 -9a-f]{4}){8}。这只是一个空格后跟另外四个十六进制数字,这两个数字都重复了八次。

如果正好是 9 个,您可以简单地调整 {8} 以提供出现次数的其他界限,例如 {0、 12} 或零个或多个 *

关于regex - 我如何简化这个正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33028648/

相关文章:

javascript - 正则表达式验证GMT&中文日期时间格式

javascript - 通过带有正则表达式的拆分函数拆分表情符号字符串

python - 拆分 UpperCamelCase 和 UPPERCamelCase 以分隔单词

Java 不适用于正则表达式\s,说 : invalid escape sequence

javascript - 更改输入名称属性

java - 正则表达式在字符串中查找键->值

java - 正则表达式包括/除外、开始/结束

java - 用动态内容中的另一个字符串替换子字符串

长字符串上的 Java 正则表达式(字符串缓冲区)

python - 删除除特定组合外的任何小写字符