regex分割在Javascript中不起作用的数字和非数字组
regex split groups of digits and non-digits not working in Javascript
我有一个简单的正则表达式模式,它应该划分数字组和非数字组。所以像12AB34CD这样的字符串应该变成像["12","AB","34","CD"]这样的数组当我使用这个(http://gskinner.com/RegExr/)测试表达式的工具,它运行良好,但在Javascript 中似乎不起作用
var code = "12AB34CD";
var regex = new RegExp(/'d+|'D+/g);
var codeArray = code.split(regex);
console.log(codeArray);
这将导致一个数组,但所有字符串都为空[","
我在这里错过了什么?
您可以使用match
:
code.match(/'d+|'D+/g); //=> ["12", "AB", "34", "CD"]
JavaScript的正则表达式split()
不包括分隔符(与正则表达式匹配的东西),只包括分隔符之间的东西。这就是为什么您得到5个空字符串的原因,因为您的regex有4个匹配项,而在这4个匹配中没有其他字符。
"" "12" "" "AB" "" "34" "" "CD" ""
^ ^ ^ ^
| | | |
+-------+-------+-------+--- regex (separator) matches
相反,由于您实际上想要与regex匹配的东西,而不是介于两者之间的东西,因此您应该只使用.match()
而不是.split()
,这将返回所有匹配项。
相关文章:
- Angular js+ng repeat+字母数字索引不起作用
- 我的角度形式输入[数字]验证不起作用
- 在 Javascript 不起作用的情况下为数字添加逗号
- javascript在asp.net中的文本框中添加2个数字,不起作用
- 我的数字检查器功能不起作用,为什么
- 如果输入类型=数字,则maxlength=5不起作用
- 在引导选择组件中的搜索不起作用,其中数据令牌包含所有数字;4730”;
- 数字时钟在火狐中不起作用
- parseInt 不起作用,从字符串中获取数字
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- Loop 在“无数字确认”JavaScript 中不起作用
- Javascript数字变量比较不起作用
- 数字验证不起作用
- 正则表达式只允许字母数字和特殊字符不起作用
- 为什么 if(数字 <=10) 不起作用
- JavaScript 在数组中查找最大数字不起作用
- jQuery css()中字体族名称中的数字不起作用
- AngularJS将输入限制为数字不起作用
- 通过JavaScript验证HTML输入中的数字不起作用
- 转换到数字不起作用