您的位置:首页 > 其它

正则表达式基本语法介绍

2015-07-21 21:50 405 查看
正则表达式基本语法

先整理如几个要点:界定符,原子,量词,边界控制,模式单元

界定符

表示一个正则表达式的开始和结束部分’/’。例子 /[0-9]/,另外##,{}都能作为界定服但基本不用

原子

可见原子: unicode编码表用键盘输出后肉眼可见的字符。特殊字符$, +, \, -等等。

不看见原子:与可见原子相反,如\n回车,\r,\t制表符,’ ‘空格

原子的筛选方式:| 匹配两个或者多个分之选择

[]匹配方括号中任意一个院子

[^]匹配方括号中的院子之外的任意字符

原子的集合:

- . 匹配除换行符之外的任意字符

- \d 匹配任意一个十进制数字,即[0-9]

- \D 匹配任意一个非十进制数字,即[^0-9]

- \s 匹配任意一个不可见原子,即[\f\n\r\t\v]

- \S 匹配任意一个可见原子, 即[^\f\n\r\t\v]

- \w 匹配任意一个数字、字母或下划线,即[0-9a-zA-Z]

- \W 与\w相反

量词

{n} 表示其前面的原子恰好出现n次

{n,} 表示其前面的原子至少出现n次

{n,m} 表示其前面的原子最少出现n次,最多m次

‘*’ 匹配0次,1次或者多次其之前的原子,即{0.}

‘+’ 匹配一次或者多次,即{1,}

‘?’ 匹配0次或者1次其之前的原子,即{0,1}

边界控制

^ 匹配字符串开始的位置

$ 匹配字符串结束的位置

模式单元

() 以括号其中整体为一个原子

正则表的修正模式

1 贪婪模式:匹配结果存在歧义时取其长

例子’/duang.+12345/’

2 懒惰模式:匹配结果存在歧义时去其短

例子 ‘/duang.+12345/U’

3其他模式:

‘/duAng.+12345/i’ 忽略英文字符大小写

‘/du a ng.+12345/x’ 忽略空白

‘/duang.+12345/s’ 让元字符’.’匹配包括换行符在内的所有字符

‘/duang.+12345/e’

上几个例子:

非空字符: /.+/

浮点数(3位小数): /-?\d+.\d{3}/email:/\w+(.\w+)∗@\w+(.\w+)+/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式