gpt4 book ai didi

javascript - 正则表达式匹配不在单引号内的字母

转载 作者:行者123 更新时间:2023-11-28 19:00:00 26 4
gpt4 key购买 nike

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

例如我有字符串:

param : 'test' .param4 'zzzz' param8 * 'rrrr'

从该字符串中我需要获取:

- param
- param4
- param8

感谢您的任何进步。

最佳答案

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

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

RegEx Demo

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

代码:

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);

关于javascript - 正则表达式匹配不在单引号内的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32775999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com