Regex 如何在正向查找后捕获单引号之间的文本?

Regex 如何在正向查找后捕获单引号之间的文本?,regex,Regex,我试图解析一个错误字符串,以便在API中返回有意义的输出。以下是错误字符串的示例: 完整性约束冲突:1062个重复条目'email@test.com'用于键'UNIQ_8D93D649A0D96FBF' 我正在尝试解析email@test.com从这句话中删除。这是我当前的正则表达式: /(?简介 您遇到的问题是因为默认情况下量词是贪婪的。将*更改为*?将解决您的问题,但使用[^']*被认为更正确(而且性能更好),因为它不会回溯 结果 输入 输出 代码 (?它是哪种语言?“谁认为使用[^'

我试图解析一个错误字符串,以便在API中返回有意义的输出。以下是错误字符串的示例:

完整性约束冲突:1062个重复条目'email@test.com'用于键'UNIQ_8D93D649A0D96FBF'

我正在尝试解析
email@test.com
从这句话中删除。这是我当前的正则表达式:

/(?简介
您遇到的问题是因为默认情况下量词是贪婪的。将
*
更改为
*?
将解决您的问题,但使用
[^']*
被认为更正确(而且性能更好),因为它不会回溯


结果 输入 输出
代码


(?它是哪种语言?“谁认为使用
[^']*
更正确?”这需要引用。如果你没有引用,那么就写“我认为
[^']*
更正确”
Integrity constraint violation: 1062 Duplicate entry 'email@test.com' for key 'UNIQ_8D93D649A0D96FBF'
email@test.com
(?<=Duplicate entry ')[^']*