Jeffrey Friedl の著書 Mastering Regular Expressions 3rd Ed の「ネガティブ ルックアラウンド」コードを使用して perl スクリプトを実行しているときに、次のエラーが発生しました。(167ページ)。誰でもそれを手伝ってもらえますか??
エラー メッセージ:
シーケンス (? 正規表現では不完全。 m/ ( ( (? <-- HERE / at /home/wubin28/mastering_regex_cn/p167.pl の 13 行目) では <-- HERE でマークされています。
私のperlスクリプト
#!/usr/bin/perl
use 5.006;
use strict;
use warnings;
my $str = "<B>Billions and <B>Zillions</B> of suns";
if ($str =~ m!
(
<B>
(
(?!<B>) ## line 13
.
)*?
</B>
)
!x
) {
print "\$1: $1\n"; #output: <B>Billions and <B>Zillions</B>
} else {
print "not matched.\n";
}