0

我一直在尝试从 .sql 文件(包括转义的单引号)中找出一个匹配 SQL 中完整字符串的正则表达式,而我想出的那些要么没有捕获足够的字符串,要么导致StackOverflow 异常(我怀疑''|[^'].

我试图构建的正则表达式类似于

(?<!')'(''|[^'])*'(?!')

我希望有一个开始和结束字符串,之间有任意'数量的非单个“`”字符。'

我考虑的一个解决方案是首先用不同的字符替换对,'然后简单地在 single 之间寻找任何东西',但是有没有办法配置我的正则表达式来做到这一点(并实际运行)。

4

1 回答 1

1

我想通了:我使用了所有格量词。此正则表达式将检测 SQL 字符串(可能带有转义引号):

'([']{2}|[^'])*+'(?!')

于 2013-08-06T15:15:59.977 回答