Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式匹配字母不在单引号内_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式匹配字母不在单引号内

Javascript 正则表达式匹配字母不在单引号内,javascript,regex,Javascript,Regex,我需要匹配字符串中不在单引号(\')内的所有字符和数字(\w) 例如,我有字符串: param : 'test' .param4 'zzzz' param8 * 'rrrr' 从这个字符串中,我需要得到: - param - param4 - param8 Thx用于任何预付款。您可以使用此基于前瞻性的正则表达式: /(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm 如果某个单词在单引号之外,则此正则表达式将通过使用前瞻确保每个单词后面有偶数个引号来匹配该单词

我需要匹配字符串中不在单引号(\')内的所有字符和数字(\w)

例如,我有字符串:

param : 'test' .param4 'zzzz' param8 * 'rrrr'
从这个字符串中,我需要得到:

- param
- param4
- param8

Thx用于任何预付款。

您可以使用此基于前瞻性的正则表达式:

/(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm

如果某个单词在单引号之外,则此正则表达式将通过使用前瞻确保每个单词后面有偶数个引号来匹配该单词。这假设未转换的报价是平衡的

代码:

var re = /(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm; 
var str = 'param : \'test\' .param4 \'zzzz\' param8 * \'rrrr\' class2.class3*dsaasd';
var m;
var result;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex)
        re.lastIndex++;
    res.push(m[0]);
}

console.log(result);

您可以使用此基于前瞻的正则表达式:

/(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm

如果某个单词在单引号之外,则此正则表达式将通过使用前瞻确保每个单词后面有偶数个引号来匹配该单词。这假设未转换的报价是平衡的

代码:

var re = /(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm; 
var str = 'param : \'test\' .param4 \'zzzz\' param8 * \'rrrr\' class2.class3*dsaasd';
var m;
var result;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex)
        re.lastIndex++;
    res.push(m[0]);
}

console.log(result);

您可以使用此基于前瞻的正则表达式:

/(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm

如果某个单词在单引号之外,则此正则表达式将通过使用前瞻确保每个单词后面有偶数个引号来匹配该单词。这假设未转换的报价是平衡的

代码:

var re = /(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm; 
var str = 'param : \'test\' .param4 \'zzzz\' param8 * \'rrrr\' class2.class3*dsaasd';
var m;
var result;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex)
        re.lastIndex++;
    res.push(m[0]);
}

console.log(result);

您可以使用此基于前瞻的正则表达式:

/(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm

如果某个单词在单引号之外,则此正则表达式将通过使用前瞻确保每个单词后面有偶数个引号来匹配该单词。这假设未转换的报价是平衡的

代码:

var re = /(?=(?:(?:[^']*'){2})*[^']*$)\b\w+\b/gm; 
var str = 'param : \'test\' .param4 \'zzzz\' param8 * \'rrrr\' class2.class3*dsaasd';
var m;
var result;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex)
        re.lastIndex++;
    res.push(m[0]);
}

console.log(result);