Leo*_*out 5 javascript regex split
在 JavaScript 中:
var myString = "This is my string";
console.log(myString.split(/(\s)/));
Run Code Online (Sandbox Code Playgroud)
输出 :["This", " ", "is", " ", "my", " ", "string"]
console.log(myString.split(/\s/));
Run Code Online (Sandbox Code Playgroud)
输出 :["This", "is", "my", "string"]
为什么会出现这种情况?
您使用的两个正则表达式仅略有不同。
/(\s)/有一个捕获组\s,因此与它一起使用时split()会将捕获组中找到的任何内容添加到数组中。
正则表达式/\s/没有捕获组,因此split()会忽略匹配项并且不会将它们添加到数组中。
同样,如果执行:
var myString = "This is my string";
console.log(myString.split(/(my)/)); //includes matched capture group in results
console.log(myString.split(/my/)); //ignores matches
Run Code Online (Sandbox Code Playgroud)
将输出:
[“这是”,“我的”,“字符串”]
[“这是”,“字符串”]
希望有帮助!
| 归档时间: |
|
| 查看次数: |
1002 次 |
| 最近记录: |