我是Perl的新手,我正试图弄清楚如何让这个东西起作用。
我在这个帖子中找到了一个例子:Perl Regex - Print the matched value
以下是我正在尝试使用的示例:
perl -e '$str="the variable Xy = 3 in this case"; print $str =~ /(Xy = 3)/;'
我已尝试使用cmd运行它,但这会产生此错误:
“在-e第1行的EOF之前的任何地方找不到字符串终结符”。
当我在powershell中运行时,没有任何事情发生。
我的最终目标是在命令行设置变量,运行正则表达式查找(有时替换),然后打印结果。这样我每次编写正则表达式模式时都不必编写脚本。
我尝试过使用调试器,但在设置变量后执行此操作时没有任何反应:
print $str =~ /(Xy = 3)/;
答案 0 :(得分:1)
最好将您的语句放在Windows环境中的Perl脚本中,因为您需要大多数Perl内容的双引号,但最终在命令行上转义会变得混乱。
答案 1 :(得分:0)
好吧,我为powershell想出来了。我不得不逃避双引号。
perl -e '$str=\"the variable Xy = 3 in this case\"; print $str =~ /(Xy = 3)/;'
同样适用于cmd,除了我必须用双引号替换单引号,因为单引号不是字符串分隔符。
perl -e "$str=\"the variable Xy = 3 in this case\"; print $str =~ /(Xy = 3)/;"