gpt4 book ai didi

python - 让 python 将带引号的字符串视为一个 block

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:39 24 4
gpt4 key购买 nike

我正在使用 Pyparsing 编写语法,并想让它解析所有插入内容,即使是那些有日期的插入内容。我不知道如何使 quotedStrings 成为一个完整的 block 。

ident          = Word( alphas, alphanums + "_$" ).setName("identifier")
number = Word(nums)

quotedString = "'" + delimitedList(number | ident , ".", combine=True) + "'"
quotedStringList = Group(delimitedList(quotedString))

insert_statement <<= (INSERT + INTO + tableNameList + VALUES + delimitedList(openingparenthese + quotedStringList + closingparenthese) + Optional(endLine))

data = "INSERT INTO test VALUES('2008-07-28 00:00:05', 'a');"
print (data, "\n", insert_statement.parseString( data ))

我希望得到类似的东西:

['insert', 'into', ['test'], 'values', '(', ["'", '2008-07-28 00:00:05', "'", "'", 'a', "'"], ')', ';']

但我只得到:

Expected "'"

最佳答案

我不能发表评论,所以我必须创建一个答案尝试使用 str(文本).replace ("'", "\'")方法或正则表达式

import re
re.sub(re.compile("'"),"\'", str(text))

我不在键盘旁,所以请耐心等待。但我希望它能有所帮助

关于python - 让 python 将带引号的字符串视为一个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55811862/

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