javascript - js split() 使用正则表达式,匹配什么表达式

标签 javascript regex split

当在 split() 中使用正则表达式作为分隔符时,有没有办法知道它匹配的是什么字符串?

例子:

var
    string     = "12+34-12",
    numberlist = split(/[^0-9]/); 

我怎么知道它找到的是 + 还是 -

最佳答案

您还可以使用捕获组来捕获在 String#split 中使用的字符串:

var m = string.split(/(\D)/);
//=> ["12", "+", "34", "-", "12"]

要看到这里的区别是没有捕获组的输出:

var m = string.split(/\D/);
//=> ["12", "34", "12"]

PS:我已将您对 [^0-9] 的使用更改为 \D,因为它们是等效的。

关于javascript - js split() 使用正则表达式,匹配什么表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962542/

相关文章:

Java 正则表达式匹配 Java 代码中方法调用的第一个参数

javascript - 为什么使用包含捕获组的正则表达式的 string.split 返回以空字符串结尾的数组?

php - 使用正则表达式的深度(无限)嵌套拆分词

javascript - 我们在设计网页(html/css/javascript)时应该注意哪些基本技巧才能与所有浏览器具有最高的兼容性?

javascript - csvtojson 转换器忽略我的文件名,只是将 undefined

Python 使用正则表达式将文本拆分为标记

ruby - 命名组 + x 修饰符

javascript - chrome 中的 onmouseover(下拉 - 选项标签)事件不起作用 - php,javascript

javascript - ScriptManager.RegisterClientScriptBlock 不适用于 UpdatePanel

php - 如何在 PHP 中将逗号和 "and"与 preg_split 匹配