簡體   English   中英

Perl Regex發現值太小並附加

[英]Perl Regex finding value too small and appending

我正在做一項作業,要求我讀一堆名稱和電話簿,並且本質上創建一個搜索,該搜索的工作方式與您手機上的撥號程序非常相似。 如果數字僅由xxx-xxxx組成,則應附加區號。 我能夠成功地挑選出包含xxx-xxxx的字符串,但是當我嘗試打印該字符串時,我只會得到一個空行。 當我調用上一個索引時,它會成功打印出名稱。

foreach my $i (0 .. $#phoneBook) {
    my @splitIndex = split(':', $phoneBook[$i]); #index 0 and 1 of splitIndex
    #If the length of the number is too short append the 701 before
    if($splitIndex[1] =~ s/^(\d{3})-(\d{4})//) {
      print "$splitIndex[1]\n";
    }
    foreach my $j (0 .. $#splitIndex) {
      #print "$splitIndex[$j]";
    }
    if(($splitIndex[0] =~ /$searchValue/i) || ($splitIndex[1] =~ /$searchValue/i)) {
      #print "Found\n";
    } else {
      #print "Not Found $searchValue\n";
    }
  }

在我的文件中,文本John:888-8888保存在我的電話簿數組中。 但是,當我致電splitIndex [1](電話號碼)時,我得到了一個空行。

問題是我在一行中使用替代標簽而不是match標簽。

$splitIndex[1] =~ s/^(\d{3})-(\d{4})//

$splitIndex[1] =~ m/^(\d{3})-(\d{4})/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM