我有一个字符串v1.2NDM。我正在尝试使用regex来获取1.2。
my $string = "v1.2NDM";
$string =~ s/[^0-9.]//;
print $string;输出:1.2NDM,但我正在尝试获取1.2。
发布于 2016-02-04 17:19:55
将其与g或全局标志一起使用:
$string =~ s/[^0-9.]+//g;它现在将输出1.2。另外,出于效率原因,在字符类之后使用+也更好。
发布于 2016-02-04 17:47:50
可以使用音译运算符删除字符:
$string =~ y/0-9.//cd;/c是指匹配搜索列表中未指定的任何字符。/d是指在替换列表中没有指定替换的删除字符(本例中的所有匹配字符)。
https://stackoverflow.com/questions/35207429
复制相似问题