perl正则表达式解释

时间:2013-06-10 20:12:54

标签: regex perl

我完全迷失在这行perl代码上

$path =~ s|^\./|~/|; #change the path for prettier output

我假设它与正则表达式有关。我对正则表达式有一些了解,但我似乎无法想出这一点。

什么是=~以及为什么有这些以及如何在perl中表达正则表达式?

2 个答案:

答案 0 :(得分:6)

=~是一个绑定运算符。它将替换(因此s)应用于变量$path。替换有两个部分 - 正则表达式和替换。在这种情况下,它们由|字符分隔。正则表达式是

^\./

^代表字符串的开头。 \.代表字面点,/代表自己。因此,字符串开头的./将替换为~/

答案 1 :(得分:4)

=~将标量表达式绑定到模式匹配,s用于替换

它的作用是将行的开头与./匹配,然后用〜/

替换它

至|管道,你可以使用任何非空白字符来界定你可以使用^或&的正则表达式的部分。或q或m或{无论什么..大多数人使用/为了可读性,但对于你可能匹配/使用其他东西的情况。

希望这有帮助。