我想簡化下面的語句。Perl正則表達式簡化
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倍的另一種方法?
我想簡化下面的語句。Perl正則表達式簡化
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倍的另一種方法?
正好試試這個
if($_=~/^([0-9a-fA-F]{5})/)
甚至
if(/^([0-9a-fA-F]{5})/)
您可以使用Quantifiers
{N}匹配n次
if (/^([0-9a-fA-F]{5})/)
類似地,可以使用一個POSIX字符類
xdigit任何十六進制數字 ( 「[0-9A-FA-F]」)。
if (/^([[:xdigit:]]{5})/)
1爲'[:xdigit:]',它更清楚地傳達代碼的意圖。 – Sean 2011-04-18 19:03:55