私は一連の文字列を持つファイルを持っています。どの行に外国の住所が含まれているかを知る必要があります。外国人の住所は、以下に記載されているものと同じ2文字の郵便番号を使用しません。通常、データはタブで区切られた列にあり、ここにリストされている各例の3つのタブになります。私は、検索の結果を返す必要がPerl正規表現 - 特定の文字/スペースと5桁以上の数字を見つける
12354ジョン・ジョーンズ123 NパークアベニューカンザスシティMO 64012から9999
12354ジェーン・ジョーンズ123 SパークアベニューカンザスシティKS 65012
my @token = split $line, \t;
foreach my $token(@token){
> $stateCode = $token =~ /\b(AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MH|MA|MI|FM|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VA|VI|WA|WV|WI|WY)\s{1,} \d{5,}\b/;}
、リストされた文字の2桁の州コードと同様に。私がここに列挙した正規表現の検索は、正確な2桁の文字コードの1つで、その後に任意の数の空白が続き、その後に5桁の数字が続きます。
私の現在のコードは、2桁の状態コードを正しく見つけたり返さなかったりするので、正規表現検索の一部であったものを返す構文をどこに置くかわからないようです。
タブで分解して分析しますか? – Jan
これは[mcve]ではありません。あなたの質問を作成して[編集]してください。 –