JavaScript正则表达式练习题以及解题思路:一

No.1

获取字符串中的数字字符,并以数组形式输出。如:12ak3222ljfl444223ql99kmf678,输出:[12, 3222, 444223, 99, 678]。

思路:

要求是找字符串的数字,那么正则查找数字的方法是:\d,可是如果只是使用\d的话,输出的结果肯定不如人意。所以必须必须是全局查找,所以此时的正则应该是长这样:/\d/g,但是这样输出的结果还是不如人意啊,因为每查找到一个数字,就会匹配一次,而要求是找到字符串里面连续出现的数字为一个匹配项,那就是说如果出现至少一次的就要匹配,个数的上限没有限制,那这样的话就很好办了,正则的量词:n+刚好可以满足要求,所以最后的正则应该是这样的:/\d+/g。现在正则有了,那就使用match方法来查找符合正则表达式的字符,match返回的是一个数组。我们还需要进一步把它改为数字类型的,这个步骤方法有很多,但是这里就使用数组的map方法,map返回的也是一个数组,参数的话,给一个Number方法就可以了,此时就完成了啊。完整列子如下demo:

let str = "12ak3222ljfl444223ql99kmf678";
let reg = /\d+/g;
let result = (str.match(reg)).map(Number);
console.log(result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值