2015-02-24 77 views
-2

我的Perl腳本只是將您提供的任何輸入作爲輸入,並且我希望通過檢查輸入字符串的模式使其更健壯。我的輸入字符串必須採用格式xxxxx-xxxx-xxxx。我如何檢查?如何檢查Perl腳本的鍵盤輸入格式?

+1

你確實可以使用正則表達式。你有什麼嘗試?如果您正在尋找一種通用的操作方法,您可能需要閱讀http://perldoc.perl.org/perlintro.html#Regular-expressions – Oesor 2015-02-24 19:05:39

+4

上的介紹文檔的正則表達式部分,例如? '退出,除非$ input =〜/^xxxxx-xxxx-xxxx $ /;' – jm666 2015-02-24 19:17:25

+0

根據你對輸入做什麼,有時候「試圖使用它」也是一種很好的驗證形式。例如。看看文件是否存在並且可讀。等等。 – Sobrique 2015-02-24 19:23:39

回答

1
$foo =~ /^.{5}-.{4}-.{4}\z/s 

例如,它會反覆詢問值,直到獲得有效值。

my $foo; 
while (1) { 
    print("Please provide foo (xxxxx-xxxx-xxxx): "); 
    my $foo = <STDIN>; 
    die("EOF\n") if !defined($foo); 
    chomp($foo); 
    last if $foo =~ /^.{5}-.{4}-.{4}\z/s; 
    print("Invalid input\n"); 
} 
+0

請給解釋添加解釋 – Saifur 2015-02-24 22:38:09