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

Alo*_*nso 14 .net regex

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

^[A-Fa-f0-9]{16}$
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*man 51

我相信

^([A-Fa-f0-9]{2}){8,9}$
Run Code Online (Sandbox Code Playgroud)

将工作.

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


Jon*_*eet 9

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

^[A-Fa-f0-9]{16}([A-Fa-f0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)

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


Von*_*onC 5

^(?:[A-Fa-f0-9]{16}|[A-Fa-f0-9]{18})$
Run Code Online (Sandbox Code Playgroud)