PERL正则表达式怎么提取两个特定符号之间的内容
要把aligned=11.8424277753889(426327399914frames)中的11.8424277753889提取出来。$1$2神马的不管用啊。始终整个...
要把aligned = 11.8424277753889 (426327399914 frames)中的11.8424277753889 提取出来。
$1$2神马的不管用啊。始终整个字符串都回出现!能不能自己测一个过了的发一下。
按说应该是匹配=和(之间的内容。但我弄出来总是全体字符串。 展开
$1$2神马的不管用啊。始终整个字符串都回出现!能不能自己测一个过了的发一下。
按说应该是匹配=和(之间的内容。但我弄出来总是全体字符串。 展开
3个回答
展开全部
split中用正则 和 直接用正则捕获,看看结果有木有!
#!/usr/bin/perl -w
use strict;
use warnings;
my $a = 'aligned = 11.8424277753889 (426327399914 frames)';
my $b = (split /\s+=\s+|\s+\(/, $a)[1];
print $b,"\n";
if ($a =~ /=\s+([\d\.]+)/)
{
print $1,"\n";
}
#!/usr/bin/perl -w
use strict;
use warnings;
my $a = 'aligned = 11.8424277753889 (426327399914 frames)';
my $b = (split /\s+=\s+|\s+\(/, $a)[1];
print $b,"\n";
if ($a =~ /=\s+([\d\.]+)/)
{
print $1,"\n";
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$a='aligned = 11.8424277753889 (426327399914 frames)';
$a=~/(.*)=(.*)\((.*)/;
print $2;
已测,结果 : 11.8424277753889
$a=~/(.*)=(.*)\((.*)/;
print $2;
已测,结果 : 11.8424277753889
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/=\s*([\d\.]+)\s*\(/
print $1;
print $1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询