【发布时间】:2013-03-06 09:13:41
【问题描述】:
我有以下规则:
string_literal \'(\\.|[^\\'])*\'
但这是假设 ' 用反斜杠转义,但在 SQL 中,您也可以使用 '' 来表示单引号。什么是正确的正则表达式?
【问题讨论】:
标签: yacc flex-lexer
我有以下规则:
string_literal \'(\\.|[^\\'])*\'
但这是假设 ' 用反斜杠转义,但在 SQL 中,您也可以使用 '' 来表示单引号。什么是正确的正则表达式?
【问题讨论】:
标签: yacc flex-lexer
【讨论】:
转义字符不仅可以是,还可以是任何字符。 所以这里有两种选择:
('(\\.|[^'])*')+
或
'(\\.|''|[^'])*'
【讨论】: