标签: yacc flex-lexer
我有以下规则:
string_literal \'(\\.|[^\\'])*\'
但是假设'使用反斜杠进行转义,但在SQL中,您也可以使用''来表示单引号。什么是正确的正则表达式?
答案 0 :(得分:0)
我改编了这个解决方案:
string_literal '([^\']|''|\')*'
来自其他帖子https://stackoverflow.com/a/6718928/1470961
答案 1 :(得分:0)
转义字符不仅可以是<单引号>,还可以是任何字符。 因此,这里有两种选择:
('(\\.|[^'])*')+
或
'(\\.|''|[^'])*'