使用 Jeffrey Friedl 的 Mastering Regular Expressions 3rd Ed 中的“负面环视”代码运行我的 perl 脚本时出现以下错误。(第 167 页)。有人可以帮我吗?
错误信息:
序列 (? 在正则表达式中不完整;由 <-- HERE in m/ ( (? <-- HERE / at /home/wubin28/mastering_regex_cn/p167.pl 第 13 行。
我的 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";
}