首頁 >後端開發 >php教程 >如何寫 PHP 正規表示式來忽略引號的字串中的轉義引號?

如何寫 PHP 正規表示式來忽略引號的字串中的轉義引號?

Barbara Streisand
Barbara Streisand原創
2024-11-28 00:48:12250瀏覽

How to Write a PHP Regular Expression to Ignore Escaped Quotes Within Quoted Strings?

PHP:正規表示式忽略引號內的轉義引號

在這種情況下,您的目標是修改現有的正規表示式,以提取由單引號(') 或雙引號(")忽略這些引號內的轉義引號。

解決方案:

要實現此目的,您可以使用以下正則表達式,經過優化為了提高效率:

雙引號字串:

"[^"\\]*(?:\\.[^"\\]*)*"/s

單引號碼字串:

/'[^'\\]*(?:\\.[^'\\]*)*'/s

說明:

這些常規表達式由以下內容組成Components:

  • 1*:符合任何不是雙引號(") 或反斜線的字元().
  • (?:\.2): 匹配轉義字元(後面跟著任何非-引用,非反斜線字元)。表達式可以有效捕獲帶引號的字串,同時忽略轉義引號。 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn