为什么perl使用g1作为反向引用而其他人使用1?

我很好奇 Perl 正则表达式反向引用和其他人的(C++、grep、emacs,实际上我见过的所有其他用法)之间的语法差异的历史原因。

Perlg1用于组反向引用。其他人都使用看起来更简洁的语法,只是1.

回答

实际上,Perl 确实接受1.

/^(.)1z/s    # Equiv* to length($_) == 2 && substr($_, 0, 1) eq substr($_, 1, 1)

g 是一个更新得多且灵活得多的补充。

1             # References the text captured by the nth capture
g{1}   g1    # References the text captured by the nth capture
g{-1}  g-1   # References the text captured by the nth capture before the g
g{name}       # References the text captured by (?<name>...)


以上是为什么perl使用g1作为反向引用而其他人使用1?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>