Javascript 将单词用方括号括起来,而不是sglQuotedString或dblQuotedString

Javascript 将单词用方括号括起来,而不是sglQuotedString或dblQuotedString,javascript,python,escaping,pyparsing,Javascript,Python,Escaping,Pyparsing,我使用pyparsing来解析布尔字符串查询。因此,我将发送一个如下所示的字符串: string = "'foo' AND 'bar' OR NOT 'foobar'" string = "'foo' AND 'ba'r' OR NOT 'fo0-bar'" 我使用的是sqlQuotedString(),但有时被解析的字符串会包含其他类型的标点符号,如撇号,因此可能是这样的: string = "'foo' AND 'bar' OR NOT 'foobar'" string = "'foo

我使用pyparsing来解析布尔字符串查询。因此,我将发送一个如下所示的字符串:

string = "'foo' AND 'bar' OR NOT 'foobar'"
string = "'foo' AND 'ba'r' OR NOT 'fo0-bar'"
我使用的是
sqlQuotedString()
,但有时被解析的字符串会包含其他类型的标点符号,如撇号,因此可能是这样的:

string = "'foo' AND 'bar' OR NOT 'foobar'"
string = "'foo' AND 'ba'r' OR NOT 'fo0-bar'"
我尝试设置
QuotedString(“”,escChar='\\')
,但我从javascript发送字符串,似乎找不到在字符串中包含反斜杠的方法。我试过这个:

for(var i = 0; i < v.length; i++) {
    if(v[i] === '"') {
        v[i] = [v.slice(0, i), "\\", v.slice(v)].join('');
    }
}
for(变量i=0;i
我也尝试过添加额外的反斜杠(
“\”
),但字符串中仍然没有
“\”


有没有一种方法可以设置pyparsing,这样它就需要一个用方括号括起来的单词,而不是单引号或双引号括起来的单词,即
[word]
'word'
“word”

使用pyparsing的
QuotedString
类,将“[”指定为开头字符,将“]”指定为结尾字符:

>>> from pyparsing import OneOrMore,QuotedString
>>> bracketed = QuotedString('[',endQuoteChar=']')
>>> OneOrMore(bracketed).parseString('[sldflsdjkf][asdf][sdf]').asList()
['sldflsdjkf', 'asdf', 'sdf']

非常感谢。这很有效。我尝试了QuotedString,但没有正确键入endQuoteChar。