温馨提示×

PHP正则表达式支持哪些修饰符

PHP
小樊
85
2024-11-06 14:10:55
栏目: 编程语言

PHP中的正则表达式支持以下修饰符:

  1. i:不区分大小写。例如,/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 会执行 echo "Hello, World!"; 并在匹配 “foo” 的位置替换它。
  7. A:使正则表达式成为断言。这允许你使用条件逻辑来构建更复杂的匹配规则。例如,/(?=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