Okk*_*kky 33 javascript regex string jquery split
我试图通过引用如何将jquery中的字符串拆分为多个字符串作为分隔符来拆分基于多个分隔符的字符串
由于我决定遵循多个分隔符
var separators = [' ', '+', '-', '(', ')', '*', '/', ':', '?'];
var tokens = x.split(new RegExp(separators.join('|'), 'g'));?????????????????
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误
Uncaught SyntaxError: Invalid regular expression: / |+|-|(|)|*|/|:|?/: Nothing to repeat
Run Code Online (Sandbox Code Playgroud)
怎么解决?
mel*_*elc 51
正则表达式相关字符+, - ,(,),*,?所需的转义
var x = "adfds+fsdf-sdf";
var separators = [' ', '\\\+', '-', '\\\(', '\\\)', '\\*', '/', ':', '\\\?'];
console.log(separators.join('|'));
var tokens = x.split(new RegExp(separators.join('|'), 'g'));
console.log(tokens);
Run Code Online (Sandbox Code Playgroud)
anu*_*ava 10
这应该工作:
var separators = [' ', '+', '(', ')', '*', '\\/', ':', '?', '-'];
var tokens = x.split(new RegExp('[' + separators.join('') + ']', 'g'));?????????????????
Run Code Online (Sandbox Code Playgroud)
生成的正则表达式将使用正则表达式字符类:/[ +()*\/:?-]/g
这样你就不需要逃避任何事情了.
以下是完成同一件事的更简单方法。
var tokens = x.split(new RegExp('[-+()*/:? ]', 'g'));?????????????????
Run Code Online (Sandbox Code Playgroud)
请注意,-必须先出现(或先转义),否则它将认为它是range运算符(例如a-z)
| 归档时间: |
|
| 查看次数: |
59918 次 |
| 最近记录: |