从Perl5.10版开始,正则表达式引擎可以自动为备选文本建立检索树,因此一般无需特意关注这方面的细节。
1.用字符组[abc]代替多选结构
所需匹配的全是单个字符,因此用字符组表示可选就足够了:
while(<>) { push @var , m '([$@%&]\w+)'g; }
2.避免量词引起的不必要回溯
3.永不回溯的占有优先量词
Perl 5.10 引入了”占有优先“量词。在任意词后面加上一个+号,该量词就变成占有优先量词,不再回溯。
从Perl5.10版开始,正则表达式引擎可以自动为备选文本建立检索树,因此一般无需特意关注这方面的细节。
所需匹配的全是单个字符,因此用字符组表示可选就足够了:
while(<>) { push @var , m '([$@%&]\w+)'g; }
Perl 5.10 引入了”占有优先“量词。在任意词后面加上一个+号,该量词就变成占有优先量词,不再回溯。
转载于:https://www.cnblogs.com/tjxwg/archive/2013/04/07/3003348.html