正则表达式:在空格上拆分一个字符串 + 每个要单独包含的特殊字符
Regex: split a string on whitespace + each special character to be included separately
我将如何编写使用正则表达式来拆分字符串,如下所示:
"foo bar, foobar (bar)" => ["foo", "bar", ",", "foobar", "(", "bar", ")"]
即在空格上拆分 + 每个特殊字符应单独包含在结果数组中
我不会拆分,而是做相反的事情; 找到'w+|[^'w's]
的所有匹配项。
我可能会做这样的事情
var foo = [];
"foo bar, foobar (bar)".split(/('W)/).forEach(function(elem) {
if (!/^'s*$/.test(elem)) {
foo.push(elem);
}
});
// foo = (object) ['foo', 'bar', ',', 'foobar', '(', 'bar', ')']
新数组 "foo" 将包含您的所有值。
我想出了每个('w+|[,()])
http://rubular.com/r/BGAFLOmkgP
您可以在以下正则表达式上拆分:
"'s|(?='W)"
好吧,这个将为您提供以下输出:
["foo", "bar", ",", "foobar", "", "(bar", ")"]
由于Javascript不支持后视,因此不可能在这里拆分(bar
分成两个单独的元素。
更好的方法是匹配而不是拆分。您想要的只是获取与以下正则表达式模式匹配的所有子字符串:
"'w+|[^'w's]"
要将_
用作特殊字符,可以使用:
"[^_'W]+|[^a-zA-Z0-9's]"
相关文章:
- 闭包js框架-将ArrayBuffer转换为字符串
- webpack 将 CSS 作为字符串内联到 JS 捆绑包中
- 谷歌闭包编译器不压缩字符串值
- Javascript:附加字符串中的事件,闭包中的变量求值
- 当SVG是单独的文件时,剪辑路径/web工具包掩码有效,但在内联时无效
- 如何引用C#;一个单独的Javascript文件中的字符串
- 将逗号分隔的字符串拆分为单独的字符串
- 谷歌闭包编译器如何处理引号(字符串文字)
- 字符串包在 Firefox 25 中的工作方式不同
- JavaScript Infovis 工具包:每个级别的单独级别距离
- 如何将输入的文本字符串提醒到单独的行中
- 将这些隐藏输入的值合并到单独的隐藏输入中的 JSON 格式字符串中
- 如何将点击事件克隆并添加为单独的元素 - 没有闭包
- 我在循环中遇到闭包问题,但我仍然使用单独的功能
- 如何在 javascript 中使用正则表达式进行单独的搜索字符串
- 如何使用字符串引用闭包,就像我在不使用 eval 的情况下使用成员函数一样
- 在 JavaScript 中将单个字符串拆分为多个单独的变量
- 将 OR 拆分字符串数组转换为单独的数组组
- 在一个字符串中用括号替换两个单独的正则表达式
- nodejs字符串格式包,没有方法格式