我是 perl 的新手。任何人都可以解释以下代码行的含义:
my ($H,$M,$S) = $date =~ m{^([0-9]{2}):([0-9]{2}):([0-9]{2})}
我假设在这行 $H
执行后,$M
和 $S
将从 中提取值$日期
。任何人都可以解释一下以获得更好的理解吗?
最佳答案
它尝试用正则表达式匹配 $date
变量的内容:
^([0-9]{2}):([0-9]{2}):([0-9]{2})
正则表达式的基本意思是:从字符串的开头,应该有两个数字和冒号重复三次。这三个两位数中的每一个都包含在一个组中。
最后将三组的匹配赋值给局部变量$H
、$M
和$S
。
例如如果
$date = "10:37:21 2016.01.02";
然后
$H = "10";
$M = "37";
$S = "21";
关于regex - 我的 ($H,$M,$S) = $date =~ m{^([0-9]{2}) :([0-9]{2}):([0-9]{2})} in perl 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34630582/