我有一个非常简单的任务,编写一个正则表达式,它会在引号内返回一个字符串:
"this is string"
...但也包含任何转义引号:
"this is \" also a string"
提前致谢!
答案 0 :(得分:3)
首先,确保正则表达式是您真正想要的。他们有养成丑陋的习惯。
但如果你确定,这应该可以解决问题:
"((\\.|[^\\"])*)"
外括号只能使您无需引号即可获取字符串的内容。如果您不需要,可以使用"(\\.|[^\\"])*"
。
要将此发送给PHP,您可以使用带单引号的字符串(不会转义);
'"((\\.|[^\\"])*)"'
或者如果必须使用双引号,请根据需要对其进行转义:
"\"((\\\\.|[^\\\\\"])*)\""