PHP:正则表达式忽略引号内的转义引号
在这种情况下,您的目标是修改现有的正则表达式,以提取由单引号 (') 或双引号 (") 忽略这些引号内的转义引号。目标是允许单引号之间的数据忽略转义的单引号(') 和双引号之间的数据忽略转义双引号 (")。
解决方案:
要实现此目的,您可以使用以下正则表达式,经过优化为了提高效率:
双引号字符串:
"[^"\\]*(?:\\.[^"\\]*)*"/s
单引号字符串:
/'[^'\\]*(?:\\.[^'\\]*)*'/s
说明:
这些常规表达式由以下内容组成Components:
通过组合这些模式,正则表达式可以有效捕获带引号的字符串,同时忽略转义引号。
示例 PHP代码:
$re_dq = '/"[^"\\]*(?:\\.[^"\\]*)*"/s'; $re_sq = "/'[^'\\]*(?:\\.[^'\\]*)*'/s"; $code = preg_replace_callback($re_dq, array($this, '_getPHPString'), $code); $code = preg_replace_callback($re_sq, array($this, '_getPHPString'), $code);
此代码现在将正确提取带引号的字符串,忽略其中转义的引号。
以上是如何编写 PHP 正则表达式来忽略带引号的字符串中的转义引号?的详细内容。更多信息请关注PHP中文网其他相关文章!