一、正则表达式基础语法
本文是慕课网上鬼斧神工之正则表达式课程的阅读笔记-2
学习正则表达式要搞清以下几个词的意义
- 界定符
- 原子
- 量词
- 边界控制
- 模式单元
1. 界定符
界定符表示一个正则表达式的开始和结束;eg:/[0-9]/;
正则表达式的本质也是一个字符串,只不过这个字符串的前后都有一个斜杠。
界定符虽然也算正则表达式语法中的一份子,但在理解的时候可以认为界定符不是正则表达式的组成部分,它只是告诉PHP的解析器,正则表达式从哪里开始到哪里结束。在PHP语言中,界定符是两个斜杠/[0-9]/,除此之外,还可以写成#[0-9]#,{[0-9]}(在PHP中,习惯不使用{},避免界定符和运算符两者相混淆)。
$pattern = ‘/[0-9]/’ 或者 #[0-9]# {[0-9]}(不推荐使用大括号);
regexpal:这是个正则表达式工具,可以实时调试正则表达式。书写正则表达式的时候不包含界定符。
2. 原子
原子是正则表达式中的最小匹配单位,通常它只是Unicode编码表中的某一个字符。
原子分为2种:
- 可见
- 不可见
可见原子:Unicode编码表中用键盘输出后肉眼可见的字符
不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符(空格,回车,tab等)
注意:
正则表达式中出现汉字时,最好将汉字转化为Unicode编码(可以使用转化工具)