热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

正则表达式验证十六进制字符串-Regularexpressiontovalidatehexstring

Imusingthissimpleregularexpressiontovalidateahexstring:我正在使用这个简单的正则表达式来验证十六进制字符串:^[A-F

I'm using this simple regular expression to validate a hex string:

我正在使用这个简单的正则表达式来验证十六进制字符串:

^[A-Fa-f0-9]{16}$

As you can see, I'm using a quantifier to validate that the string is 16 characters long. I was wondering if I can use another quantifier in the same regex to validate the string length to be either 16 or 18 (not 17).

如您所见,我正在使用量词来验证字符串是否长16个字符。我想知道我是否可以在同一个正则表达式中使用另一个量词来验证字符串长度是16还是18(而不是17)。

4 个解决方案

#1


51  

I believe

我相信

^([A-Fa-f0-9]{2}){8,9}$

will work.

将工作。

This is nice because it generalizes to any even-length string.

这很好,因为它可以推广到任何偶数长度的字符串。

#2


9  

That's just a 16 character requirement with an optional 2 character afterwards:

这只是一个16个字符的要求,之后有一个可选的2个字符:

^[A-Fa-f0-9]{16}([A-Fa-f0-9]{2})?$

The parentheses may not be required - I'm not enough of a regex guru to know offhand, I'm afraid. If anyone wants to edit it, do feel free...

可能不需要括号 - 我不足以知道一个正则表达的大师,我害怕。如果有人想编辑它,请随意...

#3


5  

^(?:[A-Fa-f0-9]{16}|[A-Fa-f0-9]{18})$

#4


0  

I'd probably go with

我可能会去

/^[a-f0-9]{16}([a-f0-9]{2})?$/i

myself. I think it's more readable to set the regex as case insensitive and only list the character range once. That said, just about all of these answers work.

我。我认为将正则表达式设置为不区分大小写并且仅列出一次字符范围更具可读性。也就是说,几乎所有这些答案都有效。


推荐阅读
author-avatar
手机用户2502931803
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有