我猜标签是一个变量,它正在检查9eaf
- 但是这在 Perl 中存在吗?
这里的“=~”符号是做什么的,前后的“/”字符是9eaf
什么?
if ($tag =~ /9eaf/)
{
# Do something
}
=~
是测试正则表达式匹配的运算符。该表达式/9eaf/
是一个正则表达式(斜杠//
是分隔符,9eaf
是实际的正则表达式)。换句话说,测试是说“如果变量 $tag 匹配正则表达式 /9eaf/ ...”,并且如果存储在其中的字符串在任何点按顺序连续$tag
包含这些字符,就会发生这种匹配。9eaf
所以这对于字符串来说是正确的
9eaf
xyz9eaf
9eafxyz
xyz9eafxyz
和许多其他人,但不是字符串
9eaxxx
9xexaxfx
和许多其他人。查找“perlre”手册页以获取有关正则表达式的更多信息,或谷歌“perl 正则表达式”。
'=~' 操作符是一个二元绑定操作符,表示后面的操作将搜索或修改左边的标量。
默认(未指定)运算符是 'm' 表示匹配。
匹配运算符有一对指定正则表达式开始和结束的字符。最常见的是,这是'//'。
阅读Perl Re 教程。
检查标量$tag
(可能是字符串)与正则表达式的匹配,正则表达式/9eaf/
仅检查字符串"9eaf"
是否为$tag
. 退房perldoc perlretut
。