一、特殊字符
1.^ 在字符串开头匹配
2.$ 在字符串末尾匹配
- . 匹配除换行符(\n)外的字符
- | 选择分支的开始
5.(子模式的开始
- )子模式的结束
- × 重复0次或以上
- 重复一次或以上
- { 最小/最大量记号的开始
- } 最小/最大量记号的结束
- ? 标记一个子模式为可选的、
二、用在方括号里面的特殊字符
- \ 转义字符
- ^ 非,仅用在开始位置
- 用于指明字符范围
三、POXIS风格的正则表达式的字符类
[[:alnum:]] 文本数字字符
[[:alpha:]] 字母字符
[[:lower:]] 小写字母
[[:upper:]] 大写字母
[[:digit:]] 小数
[[:xdigit:]] 十六进制数字
[[:punct:]] 标点符号
[[:blank:]] 制表符和空格
[[:space:]] 空白字符
[[:cntrl:]]控制字符
[[:print:]]所有可以打印的字符
[[:graph:]]除空格外所有可以打印字符
四、子表达式
圆括号(如(very)×large可以匹配“large”,“very large“,”very very large“)
五、转义字符
\n 匹配一个换行符(同\x0a和\cJ)
\r 匹配一个回车符(同\x0d和\cM)
\s 匹配任何空白字符,包括空格,制表符,换页符等,(同\f\n\r\t\v)
\S 匹配任何非空白字符(同1)
\t 匹配一个制表符(同\x09和\cI)
\v 匹配一个垂直制表符(同\x0b和\cK)
\f 匹配一个换页符(同\x0c和\cL)
\cx 匹配由x指明的控制字符。例如,\cM匹配control+M或回车键。x的值必须为a-z或者A-Z之一。否则将c堪称字符'c'
六、反义字符
\W 匹配任意不是字符、数字、下划线或者汉子的字符
\S 匹配任意不是空白字符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置,即一个词语的边界,位于\w和\W之间
七、正则表达式函数:
1.ereg() 字符串的正则匹配函数
2.eregi() 不区分大小写的正则匹配函数
3.ereg_replace() 正则表达式字符替换
4.eregi_replace () 不区分大小写的正则表达式替换
5.split() 用正则表达式将字符串分割到数组中
6.spliti() 用正则表达式不区分大小写将字符串分割到数组中
- \f\n\r\t\v ↩