溫馨提示×

PHP正則表達式支持哪些修飾符

PHP
小樊
81
2024-11-06 14:10:55
欄目: 編程語言

PHP中的正則表達式支持以下修飾符:

  1. i:不區(qū)分大小寫。例如,/foo/i 會匹配 “foo”、“FOO” 和 “Foo”。
  2. m:多行模式。這會使 ^$ 匹配每一行的開始和結束,而不僅僅是整個字符串的開始和結束。例如,/^foo/m 會匹配字符串中每一行開頭的 “foo”。
  3. u:UTF-8 模式。這允許正則表達式處理 Unicode 字符。例如,/\p{L}/u 會匹配 Unicode 字符集中的任何字母字符。
  4. s:讓 . 匹配換行符。在默認情況下,. 不匹配換行符。使用 s 修飾符,. 會匹配包括換行符在內的任何字符。例如,/foo.bar/s 會匹配 “foo” 后跟任何字符(包括換行符),直到遇到 “bar”。
  5. x:忽略空白和注釋。這允許你在正則表達式中添加注釋,并且 \s\n 等字符會被忽略。例如,/foo\s+bar/x 會匹配 “foo” 后跟一個或多個空白字符,然后是 “bar”。
  6. e:使用 PHP 函數解析正則表達式。這允許你在正則表達式中使用 PHP 函數,例如 preg_replace。例如,/foo/{echo "Hello, World!";}/e 會執(zhí)行 echo "Hello, World!"; 并在匹配 “foo” 的位置替換它。
  7. A:使正則表達式成為斷言。這允許你使用條件邏輯來構建更復雜的匹配規(guī)則。例如,/(?=foo)/ 會匹配任何位于 “foo” 前面的位置。
  8. D:使 ^$ 匹配每一行的開始和結束,而不僅僅是整個字符串的開始和結束。這與多行模式類似,但通常用于單行字符串。
  9. S:讓 . 匹配包括換行符在內的任何字符。這與 s 修飾符類似,但通常用于單行字符串。
  10. U:非貪婪模式。這會使正則表達式盡可能少地匹配字符。例如,/foo.*?bar/U 會匹配 “foo” 和 “bar” 之間的盡可能少的字符。
  11. L:讓 \w、\W、\d、\D\s\S 匹配 Unicode 字符。這與 UTF-8 模式類似,但通常用于單個字符。
  12. N:使 \w、\W、\d\D\s 匹配 Unicode 字符序列,而不是單個字符。這與 Unicode 模式類似,但通常用于單個字符。
  13. X:忽略正則表達式中的空白和注釋。這與 x 修飾符類似,但通常用于單個字符。

0