値をマッチさせようとしていますが、コンマで区切って正規表現を使用しています。基本的には、文字列の値に3番目または3番目の3番目の文字が含まれていない場合はtrueを返します。次のようにPerlのパターンマッチが期待どおりに動作しない
私のテストコードは次のとおりです。
my @a = ('in3g123456,dh3k123456,dhec110101','dhec110101,dhec123456','in3g123456,dh3k123456', 'c3kasdf', 'usdfusdufs3gsdf');
foreach (@a) {
print $_;
say $_ =~ /(?:^|,)\w{2}[^(?:3G|3K)]/i ? " true" : " false";
}
これは、第四1が真でない理由を私は理解していない
in3g123456,dh3k123456,dhec110101 true
dhec110101,dhec123456 true
in3g123456,dh3k123456 false
c3kasdf false <- whaaaaaaaat?
usdfusdufs3gsdf true
を返します。どんな助けもありがとう。
リマインダーあなたの文字列を配列に適用される[誰かが私の質問に答えるとき、私は何をすべき?](http://stackoverflow.com/help/someone-答え) – zdim