[英]perl regular expression explanations
我完全迷失在这行perl代码上
$path =~ s|^\./|~/|; #change the path for prettier output
我假设它与正则表达式有关。 我对正则表达式有一些了解,但我似乎无法想出这一点。
什么是=~
以及为什么有正则表达式在perl中表达?
=~
是一个绑定运算符。 它将替换(因此s
)应用于变量$path
。 替换有两个部分 - 正则表达式和替换。 它们由|
分隔 在这种情况下的字符。 正则表达式是
^\./
^
代表字符串的开头。 \\.
代表字面点, /
代表自己。 因此,字符串开头的./
被~/
替换。
=~
将标量表达式绑定到模式匹配, s
用于替换
它的作用是匹配起始行与./然后用〜/替换它
至于| 管道,您可以使用任何非空白字符来界定正则表达式的部分,您可以使用^或&或q或m或{what ..大多数人使用/为了可读性,但适用于您可能匹配/使用其他内容的情况。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.