在文件中,我必须获取一个字符串,其中包含5个字母,后跟5个数字。
一些例子:TSDMN12345 TSDRD34526 PSSTN84586
请帮助我如何匹配这些。
答案 0 :(得分:1)
尝试:
if($str=~/^[a-zA-Z]{5}\d{5}$/){
...
}
说明:
^
- 字符串的开头
[a-zA-Z]{5}
- 大概或小写的5个英文字符
\d{5}
- 在0到9之间显示5位数
$
- 字符串结尾
答案 1 :(得分:1)
您需要字符类(对于“任何字母”和“任意数字”),然后您需要指定要匹配的出现次数。
/^
[[:alpha:]]{5} # 5 letters
\d{5} # 5 digits
$/x
(注意,最后的x只允许我们使用任意空格来使我们的正则表达式更清晰)
或者,根据您的示例数据,您只关心大写ASCII字母,在这种情况下,您可以选择更简单的
/^[A-Z]{5}\d{5}$/
Perl文档包含我强烈推荐的perlrequick和perlretut。
答案 2 :(得分:-1)
您可以将字符串与:
匹配 "^[a-zA-Z]{5}\d{5}$"