「前端基础」一串30位的小数,使用正则要分别在第1,13,21,29位后面用空格隔开,这个正则怎么写,求大神指教?

一串30位的小数,使用正则要分别在第1,13,21,29位后面用空格隔开,这个正则怎么写,求大神指教?

回答
极乐网 ,极乐,让技术变得更加简单!

30位的小数....真的用得到吗? 正则我不会,但是我会用replace() var num =0.222.......(30位); var str = num.toString(); str = str.replace(str[1],str[1] + '(空格) ' ); //第一位 同上继续...

不知道解决你的问题没有,可以加入咱们JavaScript问答交流群 348060073讨论一下。注明你是【前端乱炖】的哦~

2个月前评论 0分享
  • 小数点前:/\d*/
  • 小数点:/\.\
  • 小数点后第1,13,21,29位:‘/\d{1}\d{12}\d{8}\d{8}\d*/

该正则表达式为var re = /(\d*\.\d{1})(\d{12})(\d{8})(\d{8})/;

综上, 提取符合的字符串:

var re = /(\d*\.\d{1})(\d{12})(\d{8})(\d{8})/;
var num = "0.1234567890123456789012345678901234567890";
num.split(re).join(" ");
2个月前评论 0分享
楼教主 ,前端小畜

楼上正则没问题,但直接替换即可,不用分割。

var re = /(\d*\.\d)(\d{12})(\d{8})(\d{8})/;
var num = "0.1234567890123456789012345678901234567890";
var ret = num.replace(re, '$1 $2 $3 $4 ');

console.log(ret);
// 0.1 234567890123 45678901 23456789 01234567890
1个月前评论 0分享
我来回答
无用回答
问题标签
问题修改记录
暂无修改记录
广告位 点击查看投放指南

我的收藏