【发布时间】:2020-04-20 00:45:30
【问题描述】:
我正在尝试使用 perl 编写一个 shell 命令来对字符串进行非常基本的检查,以查看它是否看起来像电子邮件地址。下面的最小可重现示例:
# perl --version v5.28.1
perl -E 'exit 1 if "you@example.com" !~ /@/' || echo 'failed'
以上输出failed。我知道@ 符号用于表示 perl 中的数组,但在搜索后显然它不需要转义。即使我用反斜杠转义它,结果也是一样的。
那么问题是,为什么 sh 运行 perl 正则表达式不匹配 @ 符号?还是我还缺少其他东西?
【问题讨论】:
-
试试
perl -wE 'print "you@example.com\n";' -
@Mat Ahhh... 非常感谢。如果您将详细信息添加到答案中,我很乐意接受。这给了我我需要的一切。有时您只需要轻轻一推。