PERL正则表达式怎么提取两个特定符号之间的内容

要把aligned=11.8424277753889(426327399914frames)中的11.8424277753889提取出来。$1$2神马的不管用啊。始终整个... 要把aligned = 11.8424277753889 (426327399914 frames)中的11.8424277753889 提取出来。
$1$2神马的不管用啊。始终整个字符串都回出现!能不能自己测一个过了的发一下。
按说应该是匹配=和(之间的内容。但我弄出来总是全体字符串。
展开
 我来答
ace_fei
2011-06-22 · TA获得超过2013个赞
知道小有建树答主
回答量:734
采纳率:100%
帮助的人:725万
展开全部
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";
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ehdy
推荐于2018-05-17 · TA获得超过4638个赞
知道小有建树答主
回答量:1454
采纳率:77%
帮助的人:856万
展开全部
$a='aligned = 11.8424277753889 (426327399914 frames)';
$a=~/(.*)=(.*)\((.*)/;
print $2;

已测,结果 : 11.8424277753889
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
计名pS
2011-06-22 · TA获得超过3649个赞
知道大有可为答主
回答量:4189
采纳率:0%
帮助的人:2198万
展开全部
/=\s*([\d\.]+)\s*\(/
print $1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式