Javascript拆分字符串
我有这样的绳子Javascript拆分字符串,javascript,regex,Javascript,Regex,我有这样的绳子 "(length>10)&(length<100)" “(长度>10)和(长度”(长度>10)和(长度),“10”,“和”,“(”,“长度”,“”(长度>10)和(长度),“和”,“(“,“长度”,” 这将在字母数字字符和非字母数字字符之间的边界处拆分,另外在两个非alnum字符之间拆分。您可能会在字符串的开始/结束处获得空匹配,因此您需要放弃零长度的结果 这会在字母数字字符和非字母数字字符之间的边界处进行拆分,另外还会在两个非alnum字符之间进行拆分
"(length>10)&(length<100)"
“(长度>10)和(长度<代码>”(长度>10)和(长度),“10”,“和”,“(”,“长度”,“”(长度>10)和(长度),“和”,“(“,“长度”,”
这将在字母数字字符和非字母数字字符之间的边界处拆分,另外在两个非alnum字符之间拆分。您可能会在字符串的开始/结束处获得空匹配,因此您需要放弃零长度的结果
这会在字母数字字符和非字母数字字符之间的边界处进行拆分,另外还会在两个非alnum字符之间进行拆分。您可能会在字符串的开始/结束处得到一个空匹配,因此您需要放弃零长度结果。我会选择全局匹配,它的行为更像一个标记器:
var input = "(length>10)&(length<100)";
var tokens = input.match(/\d+|[a-zA-Z]\w*|[()]|[<>=&|]+/g);
var input=“(length>10)和(length而不是split
,我会选择全局匹配
,它的行为更像一个标记器:
var input = "(length>10)&(length<100)";
var tokens = input.match(/\d+|[a-zA-Z]\w*|[()]|[<>=&|]+/g);
var input=“(length>10)和(lengthFYI,这称为标记化或词法分析。您可能需要阅读有关词法分析和词法分析器(以及词法分析器生成器)的内容。仅供参考,这称为标记化或词法分析。您可能需要阅读关于词法分析和词法分析器(以及词法分析器生成器)的内容。
result = subject.split(/\b|(?!\w)/);
var input = "(length>10)&(length<100)";
var tokens = input.match(/\d+|[a-zA-Z]\w*|[()]|[<>=&|]+/g);
\d+ # one ore more digits
| # OR
[a-zA-Z]\w* # an identifier
| # OR
[()] # a single opening- or closing parenthesis
| # OR
[<>=&|]+ # one or more operators: '<=', '&', '|=', ...