界定符 :表示一个正则表达式的开始和结束
告诉解析器 这一段是一段正则表达式
/[0-9]/ #[0-9]# {[0-9]}
$pattern = ‘/[0-9]/’;正则表达式工具:
regexpal工具
http://www.atool.org/regex.php原子
* 可见原子
Unicode编码表中用键盘输入后肉眼可见的字符
包含:
标点 ;” _ ? .等
英文字母数字 a-z A-Z 0-9
汉字 日文 阿拉伯等其他语言
数理化公式符号
其它可见字符
* 不可见原子
换行符 \n
回车 \r
制表符 \t
空格
其他不可见符号
小提示:凡是带文字正则匹配,先把文字转化成Unicode编码 在进行匹配。可以有效的避免由于编码问题带来的匹配失败。
如;匹配\ 先转译Unicode得到:\u005c 在进行匹配
元字符
| 匹配两个或者多个分支选择
[] 匹配方括号中任意一个原子
[^] 匹配出方括号中原子之外的任意字符原子的集合
. //匹配除了换行之外的任意字符
\d //匹配任意一个十进制数字 即:[0-9]
\D //匹配任意一个非十进制数字 即:[^0-9]
\s //匹配一个不可见原子 即:[\f\n\r\t\v]
\S //匹配一个可见原子 即:[^\f\n\r\t\v]
\w //匹配任意一个数字、字母、下划线 即:[0-9a-zA-Z_]
\W //匹配任意一个 非数字、字母、下划线。 即:[^0-9a-zA-Z_]
- 量词
{n} 原子刚好出现n次
{n,}原子最少出现n次
{n,m}原子最少出现n次 最多出现m次
* 匹配零次一次或者多次 即:{0,}
+ 匹配出现1次或者多次 即:{1,}
? 匹配出现零次或者1次 即:{0,1}
例子:
_?i 匹配:i跟_i
* 边界控制
边界控制符号:
^ 匹配字符串开始位置
$ 匹配字符串结束位置
模式单元
* () 模式单元 匹配其中的整体为一个原子