我有以 ^ 字符开头的行,我想以行开头和 ^ 字符。但它不工作。
echo "^./mnt/" |perl -slane ' print if m#^$line$#o' -- -line="^./mnt/"
如何将此正则表达式与作为参数传递的输入正则表达式进行匹配。
这个可以工作,但我想让它在 perl 中工作。
#echo "^./mnt/" |perl -slane ' print if m#^$line$#o' -- -line="\\^./mnt/"
^./mnt/
谢谢 SR
最佳答案
要将文本转换为正则表达式模式,请使用 quotemeta(可能通过\Q..\E)。
echo "^./mnt/" |perl -slne'print if /^\Q$line\E$/' -- -line="^./mnt/"
在这种情况下,您可以使用
echo "^./mnt/" |perl -slne'print if $_ eq $line' -- -line="^./mnt/"
关于regex - perl 一行正则表达式转义 ^ 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225211/