【问题标题】:perl regular expression explanationsperl 正则表达式解释
【发布时间】:2013-06-10 20:12:54
【问题描述】:

我完全迷失在这行 perl 代码

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

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

=~ 是什么,为什么有 s,正则表达式在 perl 中是如何表达的?

【问题讨论】:

标签: regex perl


【解决方案1】:

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

^\./

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

【讨论】:

    【解决方案2】:

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

    它的作用是将行首与 ./ 匹配,然后将其替换为 ~/

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-12-31
      • 2010-09-27
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      相关资源
      最近更新 更多