Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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,我知道如何用javascript处理正则表达式的基本知识。我能数一数字符串中的“和”。但是如何匹配字符串中的“and not”。到目前为止,我有一个解决办法,将两个比赛的结果相减。是否可以在单个正则表达式模式中找到计数include'和excludes\。在JavaScript中,您没有,因此您无法轻松检查'前是否有奇数个反斜杠,除非您将这些字符作为匹配的一部分 因此,您需要做一些更复杂的事情—匹配以单个未转义引号结尾的所有字符串,有效地将整个输入分割为块,每个引号对应一个块。然后计算这些块:

我知道如何用javascript处理正则表达式的基本知识。我能数一数字符串中的“和”。但是如何匹配字符串中的“and not”。到目前为止,我有一个解决办法,将两个比赛的结果相减。是否可以在单个正则表达式模式中找到计数include'和excludes\。

在JavaScript中,您没有,因此您无法轻松检查
'
前是否有奇数个反斜杠,除非您将这些字符作为匹配的一部分

因此,您需要做一些更复杂的事情—匹配以单个未转义引号结尾的所有字符串,有效地将整个输入分割为块,每个引号对应一个块。然后计算这些块:

/[^\\']*(?:\\.[^\\']*)*'/g
将匹配字符串的所有这些部分

测试一下

说明:

[^\\']*#匹配除反斜杠和引号外的任意数量的字符。
(?:#非捕获组的开始:匹配。。。
\\.#转义字符(任何转义序列,如\'等),
[^\\']*#后跟除反斜杠和引号以外的任意数量的字符。
)*#根据需要经常这样做(甚至0次)
“#直到您可以匹配单个(未替换的)报价