【发布时间】:2016-07-22 01:13:41
【问题描述】:
这两个正则表达式的作用是什么?
/<(.*?)>.*?<\/\1>/
/<(.*?)>.*<\/\1>/
我了解到.*? 意味着尽可能少的字符。
例如:
my $a = '"helllo"++"world"';
print "a $1\n" if $a =~/(".*")/; # "helllo"++"world"
print "b $1\n" if $a =~/(".*?")/; # "helllo"
print "c $1\n" if $a =~/(.*)/; # "helllo"++"world"
print "d $1\n" if $a =~/(.*?)/; # (nothing)
为什么 d 什么也不显示,而 b 是 helllo 而不是 ""?
所以,我找不到任何好的例子来展示 1 and 2 之间的区别,比如 helllo world 例子。
有人可以举一些例子来说明区别吗?
谢谢。
【问题讨论】:
-
这意味着 - 有人试图使用正则表达式解析 XML 或 HTML,这是个坏主意。