- 正则表达式就是用某种模式去匹配一类字符串的一种公式。
- php中用PCRE提供的函数,”preg_”为前缀。
- 元字符-正则表达式中有专用意义的字符。
元字符 | 描述 |
---|---|
. | 除了换行意外的任意字符 |
\w | 字母 数字 下划线 汉字 |
\s | 任意空白符 |
\d | 数字 |
\b | 单词的开始或者结束 |
^ | 字符串的开始 |
$ | 字符串的结束 |
- | 表示范围 |
[] | 匹配括号中的任意一个字符 |
* | 0次或者多次 |
+ | 一次或者多次 |
? | 0次或者1次 |
{n} | n次 |
- 转义-如果要匹配元字符本身,比如”“,那么需要转义,”*” 就代码要匹配””
- 非 - 用”^”表示,匹配开头位置的也是这个字符,当在括号中的时候[^>]作为非的意思
- 分支-例如cat ,hat ,fat,toat 用(c|h|f|to)at 来匹配
- 反向引用-重复前面某个分组的文本 “\1”代表匹配第一组的文本。\b(\w+)\b\s+\1\b可以匹配 go go或者kitty kitty这样的字符串。
一些例子:
手机号://现在手机号太难匹配了
(13[4-9]|15[01789]|18[789])\d{8}
邮箱:
\w{3-16}@\w{1-64}\.\w{2-5}
todo
环视
运算
惰性