【发布时间】:2022-01-21 17:03:30
【问题描述】:
我正在尝试提取 CMS Tikiwiki 版本,但在提取版本时遇到问题。 我只能提取数字的第一部分,例如:
15.0版本,我只能提取15,但我想提取15.0。
if ($res=~ m/as of version (.+?)\./) {
$version = $1;
}
提取版本的句子
以下列表试图收集 Tiki 15.0 版的版权所有者。
【问题讨论】:
我正在尝试提取 CMS Tikiwiki 版本,但在提取版本时遇到问题。 我只能提取数字的第一部分,例如:
15.0版本,我只能提取15,但我想提取15.0。
if ($res=~ m/as of version (.+?)\./) {
$version = $1;
}
提取版本的句子
以下列表试图收集 Tiki 15.0 版的版权所有者。
【问题讨论】:
试试这个,
if ($res =~ m/as of version (\d+(?:\.\d+))\./) {
如果这是你想要的字符串的结尾,
if ($res =~ m/as of version (\d+(?:\.\d+))\.$/) {
模式(\d+(?:\.\d+)) 捕获任意数字,后跟可选的. 分组和一个或多个数字。
【讨论】:
[\d.]*代替(?:\.\d+)
as of version 5......
$version 的变量
你可以使用
/as of version (.+)\./
但我很想使用
/as of version (\S+)\./
\S 匹配非空格字符。
顺便说一句,
my $version
if ( $res =~ /.../ ) {
$version = $1;
}
可以写成
my ( $version ) = $res =~ /.../;
【讨论】:
15.0.1,此版本不会失败。它也更简单。
15.0-TRIAL :)