如何从字符串末尾提取主要版本号和次要版本号?

How can I extract a major and minor version number from the end of a string?

我正在尝试提取 CMS Tikiwiki 版本,但在提取版本时遇到问题。 我只能提取数字的第一部分,例如:

版本15.0,我只能提取15,但我想提取15.0.

if ($res=~ m/as of version (.+?)\./) {

  $version = ;

 }

句子提取版本

The following list attempts to gather the copyright holders for Tiki as of version 15.0.

试试这个,

if ($res =~ m/as of version (\d+(?:\.\d+))\./) {

如果这是您可能需要的字符串结尾,

if ($res =~ m/as of version (\d+(?:\.\d+))\.$/) {

模式 (\d+(?:\.\d+)) 捕获任何数字,后跟 . 和一个或多个数字的可选分组。

你可以使用

/as of version (.+)\./

但我很想使用

/as of version (\S+)\./

\S 匹配 non-space 个字符。


顺便说一句,

my $version
if ( $res =~ /.../ ) {
   $version = ;
}

可以写成

my ( $version ) = $res =~ /.../;