Flex / Yacc:SQL字符串文字的正则表达式是什么?

问题描述 投票:0回答:2

我有以下规则:

string_literal \'(\\.|[^\\'])*\'

但是这假定'以反斜杠转义,但是在SQL中,您也可以使用'来表示单引号。什么是正确的正则表达式?

yacc flex-lexer
2个回答
0
投票

我采用了此解决方案:

string_literal '([^\']|''|\')*'

来自此其他帖子https://stackoverflow.com/a/6718928/1470961


0
投票

转义字符不仅可以是,还可以是任何字符。因此,这里有2种选择:

('(\\.|[^'])*')+

'(\\.|''|[^'])*'
© www.soinside.com 2019 - 2024. All rights reserved.