【发布时间】:2011-08-01 22:45:19
【问题描述】:
我目前正在研究 Perls RegExps,我认为总体上理解它。我认为,我也掌握了转义字符,即测试反斜杠,用 m/\/ 表示,因为需要继续购买 \ 字符,以便在这种情况下告诉 perl 搜索它,就像它通常的含义一样.
我对下面的代码不理解的是,这种模式匹配以及为什么在测试带有 @ 符号的电子邮件地址时使用 (\) (在 if 语句表达式中)。我不知道 @ 是一个需要转义的特殊字符还是我错过了什么?。
#!/usr/bin/perl
EMAIL:
{
print("Please enter your email address: ");
$email = <STDIN>;
if ($email !~ /\@/)
{
print("Invalid email address.\n");
redo EMAIL;
}
else
{
print("That could be a valid email address.");
}
}
【问题讨论】:
-
看来
/@/和/\@/意思一样。但请注意:/@x/与/\@x/非常不同。 -
哦,好吧,我还有更多的阅读要做,但我会记住的。非常感谢你的协助!!。我已尽我所能尝试解决它,不问,不问,问清酒或懒惰,但我一直在挣扎。再次感谢
-
嘿,如果你想匹配对
@x的引用,你会怎么做? :) 将它分配给一个标量,不要再这么聪明了! -
就个人而言,我只是转义正则表达式中不是数字或字母的所有内容。我猜是偏执狂。