我是一个完整的正则表达式菜鸟,不幸的是可以找到一个匹配我需要的正则表达式。
我需要一个正则表达式,当一个数字后跟一个字母时,它将返回所有字符。
例如:我有一个字符串数组[".5a", "2c#", "1e", "2f", "1.5g"]
我想得到以下数组["a", "c#", "e", "f", "g"]
。
非常感谢。谢谢。
答案 0 :(得分:5)
您需要使用Array.prototype.map +正则表达式匹配。也许是这样的:
var result = [".5aD", "2c#", "1e", "2f", "1.5g"].map(function(str) {
var m = str.match(/\d(?:\.\d)?([^\d]+)/);
return m ? m[1] : null;
});
document.write(JSON.stringify( result, null, 4) );
您可以在此处查看使用的正则表达式的说明:https://regex101.com/r/pT7oP2/1