私は、複数のパターンにマッチするPerlで正規表現を思いついて、PHPでpreg_match_all
のようなものをすべて返そうとしています。ここでPerlでグローバル正規表現マッチを行うにはどうすればよいですか?
は、私が持っているものです。
$str = 'testdatastring';
if($str =~ /(test|data|string)/) {
print "its found index location: $0 $-[0]-$+[0]\n";
print "its found index location: $1 $-[1]-$+[1]\n";
print "its found index location: $2 $-[2]-$+[2]\n";
print "its found index location: $3 $-[3]-$+[3]\n";
}
これは私にこの中に「試験」である最初の試合を提供します。私は指定されたパターンのすべての出現、 'テスト'、 'データ'と '文字列'を照合できるようにしたい。
私はPHPで、あなたが目的のこの種のpreg_match_allを使用することができることを知っている「テスト」、「データ」と「文字列」:上記のPHPコードは、すべての3つの文字列に一致します
if(preg_match_all('/(test|data|string)/', 'testdatastring', $m)) {
echo var_export($m, true);
}
。
Perlでこれを行う方法を知りたいです。どんな助けでも大歓迎です。
これをif/elseステートメントにどのように適用しますか? – Carel
これを解決しました:if(@list = $ str =〜Regex){True} {False}/regex/gを使用して、見つかった項目をリストにグループ化します。 – Carel