$line =~ /\-?(?:\d+\.?\d*|\.\d+)/g 在perl中是什么意思
$line =~ /\-?(?:\d+\.?\d*|\.\d+)/g 在perl中是什么意思
日期:2019-07-22 19:59:21 人气:2
这个有点复杂
\-? 表示匹配正负数
?:表示以|为分隔,匹配\d+\.?\d* 或 \.\d+
\d+\.?\d* 表示匹配整数或小数
\.\d+ 表示匹配没有整数但有小数点的数
g 表示全局匹配
?:表示括号只是起分隔作用,不将括号中匹配的内容存入内存中
因为如果不加?:的话,括号内匹配的内容会放入$1,$2...这些变量中
$line =~/[\-\.