PHP 正则表达式

PHP 正则表达式

基础

作用

分割、查找、匹配、替换字符串

分隔符

正斜线(/)、hash 符号(#)以及取反符号(~)

通用原子

  1. \d (0-9)
  2. \D (除了 0-9)
  3. \w (数字,字母,下划线)
  4. \W (除了数字,字母,下划线)
  5. \s (空白符)
  6. \S (除了空白符)

元字符

  1. .(除了换行符外的任意字符)
  2. *(匹配前面的单元出现 0-n 次)
  3. ? (匹配前面的单元出现 0-1 次)
  4. ^(必须以某个单元开头)
  5. $ (必须以某个单元结尾)
  6. +(出现一次或者多次)
  7. {n} (出现 n 次)
  8. {n,} (大于等于 n 次)
  9. {n,m} (大于等于 n 并且小于等于 m 次)
  10. [] (集合,[abc]匹配 a 或者 b 或者 c)
  11. [^] (取反)
  12. | (或者)
  13. [-] (范围)

模式修正符

  1. i
  2. m
  3. e
  4. s
  5. U
  6. x
  7. A
  8. D
  9. u

后向引用

1
2
3
$str = '<b>abc</b>';
$pattern = '/<b>(.*)<\/b>/';
preg_replace($pattern, '\\1',$str);

贪婪模式

1
2
3
$str = '<b>abc</b><b>bcd</b>';
$pattern = '/<b>.* <\/b>/';
$preg_replace_all($pattern,'\\1',$str);