求助一个正则表达式

问题描述

求求助大佬帮忙写个正则表达式
原始数据:

[5:1.000,5:2.400] 觉基本都在震动啊,他唱歌。

输出结果:

1.000

2.400

觉基本都在震动啊,他唱歌。

想匹配出上面三个数据
小弟试了好久都没成功,拜托了~

阅读 1.9k
3 个回答

$re = '/^\[\S+?\.(\d+?),\S+?\.(\d+?)\] ([\s\S]+?)$/m';
之前居然给了个错误答案,更正下

$re = '/^\[.+?:(.+?),.?:(.+?)\] (.+?)$/m';

试试看,另外推荐一个正则调试很方便的网站 regex101.com

/\[.*?:(\d+\.\d+),.*?:(\d+\.\d+)\]\s*(.*)/
如果要匹配整行,
/^\[.*?:(\d+\.\d+),.*?:(\d+\.\d+)\]\s*(.*)$/

@XYShaoKang 推荐那个测试网站不错呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题