gpt4 book ai didi

regex - 为什么打印反向引用时不打印反斜杠?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:33 25 4
gpt4 key购买 nike

为什么在下面的片段中:

~$ perl -e '  
my $var = "SRC=array.c builtin.c eval.c field.c gawkmisc.c io.c \ main.c ";
$var =~ /^\w+=(.*)/;
print "$1\n";
'
array.c builtin.c eval.c field.c gawkmisc.c io.c main.c

\ 没有打印在反向引用中。 . 显然与字符串文本中的 \ 匹配,因为捕获一直到行尾,为什么不打印出来?
为什么我需要在这种情况下转义它?

最佳答案

反斜杠字符的特殊之处在于它表示后面的内容不是文字。例如,对于像 "line 1\nline 2\n" 这样的文本,您会看到 "\n" 的两个实例……反斜杠表示后面的内容具有特殊含义, n 表示回车。在您的情况下,"\" 没有特殊含义,因此只打印空格。

如果你真的想看到反斜杠,"\\" 就可以了。

关于regex - 为什么打印反向引用时不打印反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com