的示例:
"""Romeo and Juliet"""
'another string that is quoted with '' single quotes'
问题是字符串可以包含用于db转义的字符,即使在它的开头和结尾也是如此,因此正则表达式应该看看给定的char是否以奇数长度的顺序使用,即1,3,5 ...最后匹配的字符串
答案 0 :(得分:7)
尝试使用此正则表达式:'(?:[^']|'')*'
表示单引号。双引号相同,即完全正则表达式:
'(?:[^']|'')*'|"(?:[^"]|"")*"
在字符串hello 'my ''beautiful''' 'world'! """Romeo and Juliet"""
中,它会找到:
'my ''beautiful'''
'world'
"""Romeo and Juliet"""
答案 1 :(得分:-1)
如果您的字符串包含(或可能包含)导致sql出现问题的字符,则总是转义。
如果您将PHP与mysql数据库一起使用,请使用mysql_real_escape_string($text);
(docs)
对于其他数据库和语言,您必须检查特定用途,但可能存在现有方法。