我一直试图找出一个正则表达式来匹配SQL中的完整字符串,来自.sql文件(包括转义的单引号),而我提出的那些或者没有捕获足够的字符串或者导致StackOverflow异常(我怀疑是''|[^']
的可能组合。
我试图构建的正则表达式是
(?<!')'(''|[^'])*'(?!')
我希望有一个'
开头和结尾字符串,其中包含任意数量的对 '
和非单个'''字符。
我考虑过的一个解决方案是首先用不同的字符替换'
对,然后简单地在单'
之间查找任何内容,但是有没有办法配置我的正则表达式来实现这一点(实际上运行)。
答案 0 :(得分:1)
我明白了:我使用了占有量词。此正则表达式将检测SQL字符串(可能有转义引号):
'([']{2}|[^'])*+'(?!')