正则表达式中包含三种元素分别为:量词、元字符、修饰符
量词
语法 描述
- 匹配任何至少包含一个前导字符串
- 匹配任何包含零个或多个前导字符串
? 匹配任何包含零个或一个前导字符串
. 匹配任意字符串
{x} 匹配任何包含 x 个前导字符串
{x,y} 匹配任何包含 x 到 y 个前导字符串
{x,} 匹配任何包含至少 x 个前导字符串
$ 匹配字符串的行尾
^ 匹配字符串的行首
| 匹配字符串的左边或者右边
() 包围一个字符分组或定义个反引用,可以使用12 提取
元字符
语法 描述
[a-z] 匹配任何包含小写字母 a-z的字符串
[A-Z] 匹配任何包含大写字母 A-Z的字符串
[0-9] 匹配任何包含数字 0-9 的字符串
[abc] 匹配任何包含小写字母 a、b、c的字符串
[abc] 匹配任何不包含小写字母 a、b、c的字符串
[a-zA-Z0-9_]匹配任何包含 a-zA-Z0-9 和下划线的字符串
w 匹配任何包含 a-zA-Z0-9 和下划线的字符串(同上)
W 匹配任何没有下划线和字母数字的字符串
d 匹配任何数字字符,和[0-9]相同
D 匹配任何非数字字符,和[^0-9]相同
s 匹配任何空白字符
S 匹配任何非空白字符
b 匹配是否到达了单词边界
B 匹配是否没有达到单词边界
匹配正则中的特殊字符
修饰符
语法 描述
i 完成不区分大小写的搜索
m 在匹配首内容或者尾内容时候采用多行识别匹配
x 忽略正则中的空白
A 强制从头开始匹配
U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束
* preg_filter — 执行一个正则表达式搜索和替换
* preg_grep — 返回匹配模式的数组条目
* preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
* preg_match_all — 执行一个全局正则表达式匹配
* preg_match — 执行一个正则表达式匹配
* preg_quote — 转义正则表达式字符
* preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
* preg_replace — 执行一个正则表达式的搜索和替换
* preg_split — 通过一个正则表达式分隔字符串$pattern = ‘/([d])/([d])/([d]*)/‘;
$string = ‘26/06/2014‘;
echo preg_replace($pattern, "$3/$2/$1", $string);
javascript
创建方式:
1.
var pattern = new RegExp(‘box‘);
var pattern = new RegExp(‘box‘,‘ig‘);
2.
var pattern = /box/;
var pattern = /box/ig; 模式修饰符的可选参数
参数 含义
i 忽略大小写
g 全局匹配
m 多行匹配
RegExp 对象的方法
方法 功能
test 在字符串中测试模式匹配,返回 true 或 false
exec 在字符串中执行匹配搜索,返回结果数组
例1: var pattern = /box/i;
var str = "This is a Box!";
alert(pattern.test(str));
例2: var pattern = /box/i;
var str = "This is a Box!";
alert(pattern.exec(str));
String 对象也提供了 4 个使用正则表达式的方法。
方法 含义
match(pattern) 返回 pattern 中的子串或 null
replace(pattern, replacement) 用 replacement 替换 pattern
search(pattern) 返回字符串中 pattern 开始位置
split(pattern) 返回字符串按指定 pattern 拆分的数组
RegExp 对象的静态属性
属性 短名 含义
input $_ 当前被匹配的字符串
lastMatch $& 最后一个匹配字符串
lastParen $+ 最后一对圆括号内的匹配子串
leftContext $` 最后一次匹配前的子串
multiline $* 用于指定是否所有的表达式都用于多行的布尔值
rightContext $‘ 在上次匹配之后的子串
单个字符和数字
元字符/元符号 匹配情况
. 匹配除换行符外的任意字符
[a-z0-9] 匹配括号中的字符集中的任意字符
[a-z0-9] 匹配任意不在括号中的字符集中的字符
d 匹配数字
D 匹配非数字,同[^0-9]相同
w 匹配字母和数字及
W 匹配非字母和数字及
字符类:空白字符
元字符/元符号 匹配情况