求教 Perl z中一个正则表达式的问题
$str= " <Table class=b2> moon ";
$str =~ s/ <table.*> / <table> /gi;
print $str. "\n ";
这是没有问题的,结果是 <table> moon 正是期望得到的。但现在改成:
$str= " <Table class=b2> moon <table class=a2> sun ";
$str =~ s/ <table.*> / <table> /gi;
print $str. "\n ";
这时只得到 <table> sun,而不是想要的 <table> moon <table> sun 为什么?如何才能得到想要得结果?
[解决办法]
最简单应该用:$str =~ s/ <table.*?> / <table> /gi;
[解决办法]
两种方法都可以,不过一般时候我比较倾向于一楼的方法,如果正则表达式比较长有利于匹配明确的结果。