在网上看了正则教程之后,感觉还是晕晕的?把这个文档看完,再把其中的例子实验一遍,你就能看懂并写出大部分的正则表示式了。
首先要说下正则表达式的4个属性:
i:不区分大小写
g:全局匹配
m:使“^"、"$”可匹配每一行
s:是小数点.可匹配所有字符包括换行符
这里用js的正则来演示
例子1:基础匹配
str = '1a2b3c';
find = /\d/g;
m = str.match(find);
m的值
array(
"1",
"2",
"3"
)
解析:
这里find是一个数字
- 用find去str中第一个字符开始比较,每次指针前进一个字符,找到第一个数字
1
此时str指针的位置'1|a2b3c'
此时的匹配结果的结果:array("1")
- 因为g为全局匹配,所以重复第一步继续比较(从a开始),找到第二数字
2
此时str指针的位结果:'1a2|b3c'
此时的匹配结果出的值array("1","2")
- 因为g为全局匹配,所以重复第一步继续比较(从b开始),找到第三数字
3
此时str指针的位置'1a2b3|c'
此时的匹配结果出的结果:array("1","2","3"))
- 因为g为全局匹配,所以重复第一步继续比较(从c开始),一直找到字符串末尾也没有数字
最终匹配结果就是:array("1","2","3"))
有空再编辑...
网友评论