正規表現の拡張構文のうち簡単なもの
とりあえず、サンプルです。以下はすべてマッチします。
$bbb = '東京都庁'; $ccc = 'とうきょう都庁'; print "Match1", "\n" if ($bbb =~ /東京(?=都庁)/); # 東京の後に都庁が続いている東京にマッチ print "Match2", "\n" if ($bbb =~ /東京(?!議会)/); # 東京の後に議会が続いていない東京にマッチ print "Match3", "\n" if ($bbb =~ /(?<=東京)都庁/); # 東京の後に都庁が続いている都庁にマッチ print "Match4", "\n" if ($ccc =~ /(?<!東京)都庁/); # 東京でないの後に都庁が続いている都庁にマッチ
ちなみに、拡張構文の「東京(?=都庁)」と普通構文の「東京(都庁)」は同じ結果になりますが、すべての拡張構文には後方参照がありません。