相关疑难解决方法(0)

MarkDown源中的正则表达式懒惰量词与否定类

我正在查看John Gruber在Perl中编写的MarkDown代码,并且有一个子命令_Detab将标签转换为空格,同时保留文本的缩进.有问题的代码行是Markdown.pl中的1314:

$text =~ s{(.*?)\t}{$1.(' ' x ($g_tab_width - length($1) % $g_tab_width))}ge;
Run Code Online (Sandbox Code Playgroud)

这不会导致不必要的回溯吗?以下模式不会更有效地执行吗?

/([^\t\n]*)\t/
Run Code Online (Sandbox Code Playgroud)

或者我错过了什么?谢谢.

顺便说一句,我只是否定\n而不是\r因为所有的换行都是\n事先标准化的.

regex perl performance markdown

2
推荐指数
1
解决办法
443
查看次数

标签 统计

markdown ×1

performance ×1

perl ×1

regex ×1