正则匹配十六进制数字

/^((0x[0-9a-f]+)|(\$[0-9a-f]+)|([0-9a-f]+h))$/i
/^(((0x|\$)[a-f0-9]+)|([a-f0-9]+h))$/i

/表示JS中regexp的开始和结束,即它不属于regular表达式本身。
i是一个regex标志,用于使匹配不区分大小写,即它匹配0xA、0Xa、aH和Ah。如果不想匹配0X前缀或H后缀,则必须删除i标志,并明确地将A-F添加到regex number部分
^和$是字符串的开头和结尾。因此,它只匹配一个完整的字符串,而不是当正则表达式是一个更大的字符串的一部分时。即匹配"0xffff",但不匹配"foo 0xffff bar"
((0x|$)[a-f0-9]+)匹配以0x或 为前缀的有效十六进制数。由于 为前缀的有效十六进制数。由于 为前缀的有效十六进制数。由于是正则表达式中的一个特殊字符,它必须用\转义才能进行逐字匹配。
([a-f0-9]+h)匹配一个有效的十六进制数,后跟一个h

猜你喜欢

转载自blog.csdn.net/weixin_43706224/article/details/129282779
今日推荐