2

我想简化以下陈述。

if($_=~/^([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])/)

是否有另一种方法可以编写上述语句而无需重复 [0-9a-fA-F] n 次?

4

3 回答 3

10

你可以使用量词

{n} 精确匹配 n 次

if (/^([0-9a-fA-F]{5})/)

同样,您可以使用 POSIX 字符类

xdigit 任何十六进制数字(“[0-9a-fA-F]”)。

if (/^([[:xdigit:]]{5})/)
于 2011-04-18T18:26:09.117 回答
5

试试这个

if($_=~/^([0-9a-fA-F]{5})/)
于 2011-04-18T18:07:01.007 回答
0

甚至

if( /^([0-9a-fA-F]{5})/ )
于 2011-04-18T18:12:11.740 回答