我有一个关于正则表达式的相当基本的问题。
我使用表达式.*
而不考虑它匹配期望匹配例如到行尾。这行得通。
但出于某种原因,我开始思考这个表达方式。检查维基百科(我的重点)
. Matches any single character
* Matches the **preceding** element zero or more times
所以现在根据这个定义,为什么不.*
尝试匹配字符串中的第一个字符 0 次或更多次,而是尝试将匹配应用于字符串中的每个字符?
我的意思是如果我有abc
它应该尝试匹配a,aa,aaa etc
对吗?
但它没有:
~
$ perl -e '
> my $var="abcdefg";
> $var =~ /(.*)/;
> print "$1\n";'
abcdefg