我正在尝试编写一个正则表达式,可以提取(可能是多个)四个十六进制数字/字母的字符串。
我可以这样做:
/^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]/
但有更好的方法吗?
似乎是重复运算符:
a {n}匹配'a'正好重复n次。
a {n,}匹配'a'重复n次或更多次。
a {n,m}匹配'a'在n和m次之间重复。
可行,但以下正则表达似乎不起作用:
/^[A-Fa-f0-9]{4}+/
我正在尝试匹配字符串:
AA00
AA00FFAA
0011FFAA0022
等等。每个字符串都在它自己的行上。
谢谢!
答案 0 :(得分:8)
试试这个:
/^(?:[A-Fa-f0-9]{4})+$/
答案 1 :(得分:1)
你在正则表达式中嵌套了量词;即,{4}表示匹配正好4次而 + 表示多次匹配该字符串,因此这两个量词冲突。如果你只是删除 + ,它就会起作用:
/^[A-Fa-f0-9]{4}/