好吧,我在正则表达式上非常新,特别是在js regexp上
我正在寻找与十六进制颜色语法匹配的正则表达式(如"#34ffa6")然后我关注w3school页面:Javascript RegExp对象
那是我的正则表达式: / ^#[0-9a-f] {6}/i
它似乎工作但是,如果我想要它也匹配"短十六进制颜色语法"形式?(比如"#3fa"),这可能吗?我尝试使用caracter | 但也许我的语法错了......
Thx提前和抱歉肯定是坏英语(我是意大利人......)
rod*_*ehm 67
/^#[0-9a-f]{3,6}$/i
Run Code Online (Sandbox Code Playgroud)
将匹配#abc,#abcd,#abcde,#abcdef
/^#([0-9a-f]{3}|[0-9a-f]{6})$/i
Run Code Online (Sandbox Code Playgroud)
会匹配#abc,#abcdef但不会#abcd
/^#([0-9a-f]{3}){1,2}$/i
Run Code Online (Sandbox Code Playgroud)
会匹配#abc,#abcdef但不会#abcd
/^#(?:[0-9a-f]{3}){1,2}$/i
Run Code Online (Sandbox Code Playgroud)
会匹配#abc,#abcdef但不会#abcd
查看RegExp - MDN以了解有关javascript 中正则表达式的更多信息.
尝试这个 :
/^#([0-9a-f]{6}|[0-9a-f]{3})$/i
Run Code Online (Sandbox Code Playgroud)
[0-9a-f]{6}= 6 个字符
[0-9a-f]{3}= 3 个字符
$= 结尾