Perl正则表达式简化

时间:2011-04-18 18:05:35

标签: regex perl repeat simplification

我想简化以下声明。

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次吗?

3 个答案:

答案 0 :(得分:10)

您可以使用Quantifiers

  

{n}完全匹配n次

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

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

  

xdigit任何十六进制数字   (" [0-9A-FA-F]&#34)

if (/^([[:xdigit:]]{5})/)

答案 1 :(得分:5)

试试这个

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

答案 2 :(得分:0)

甚至

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