正则表达式基本语法
2017-07-29 15:48
260 查看
介绍:首先说下正则表达式的语法组成,及各个元素的含义。
还有三个字符的用法 补充在后面
如上图:
1.字符 . 表示可以匹配任意字符(除了\n) 即在正则表达式中如果出现了 . 则在要匹配的字符串这个对应位置可以是任意字符
2.[ ] 中括号中可以放入一个字符串,代表可以匹配这个字符串中的任意一个字符
例: [abcd] 即可以匹配abcd中任意一个字符 注:如果要匹配A到Z之间任意一个字符可以写 作[A-Z] 同理[a-z] [0-9]
3.\d可以匹配任意一个数字 \D可以匹配任意一个非数字 同理 \s 空白字符指空格、换行、tab \S \w \W
4. *指匹配前一个字符无限次
例:[\d]* 指可以匹配0-9 任意一个数字无限次 同理[ ] 中可以放\s \w 等
+ ? 用法同 *
5. {m}匹配前一个字符m次
例:[\d]{5} 指可以匹配0-9任意一个数字5次 {m,n}指匹配前一个字符m到n次
6. +? 因为*指匹配前一个字符1次或者是无限次 所以+?指匹配前一个字符1次后 尽可能不匹配前一个字符
*? ??用法同前
例:[\d]+? 待匹配字符串为45621 匹配结果为4
7. | 匹配左右任一个表达式
例:163|126 待匹配字符串为163则输出结果为163 带匹配字符串为126 则输出结果为126
8. (ac)将表达式分组
例:asd(dd1) 则dd1为一个分组可以单独操作 正则表达式 :[\w]{4,10}@(163|126|qq).com 待匹配表达式7855@163.com 待匹配表达式中163可以换为126或者qq
9.\<number> 引用编号为num的分组匹配到的字符串
例:正则表达式 :<([\w]{4}>)\1([\w]{3}>)\2 待匹配字符串<book>book>fff>fff> 第一个()中的字符串由\1 引用 第二个()中的字符串由\2引用
10(?P<name>) 分组起一个别名 (?P=name)引用别名为name的串
例:正则表达式<(?P<mark>[\w]{4}>)[\w]+</(?P=mark) 待匹配串 <book>python</book> 给第一个括号内的取名为mark 在第二个括号内引用
11. ^ 匹配字符串开头 即待匹配字符串的开头必须按照正则表达式的要求形式
$ 匹配字符串结尾 即待匹配字符串的结尾必须按照正则表达式的要求形式
例:正则表达式 [\w]{4,10}@163.com$ 待匹配字符串的结尾必须是@163.com不能多 也不能少
12 \A or \Z 指定的字符串必须出现在开头 or 结尾
\Z同理加在结尾
例: 正则表达式 \A sdff[\w]* 待匹配字符串sdff456ss可以匹配 asdff456ss无法匹配
以上
还有三个字符的用法 补充在后面
如上图:
1.字符 . 表示可以匹配任意字符(除了\n) 即在正则表达式中如果出现了 . 则在要匹配的字符串这个对应位置可以是任意字符
2.[ ] 中括号中可以放入一个字符串,代表可以匹配这个字符串中的任意一个字符
例: [abcd] 即可以匹配abcd中任意一个字符 注:如果要匹配A到Z之间任意一个字符可以写 作[A-Z] 同理[a-z] [0-9]
3.\d可以匹配任意一个数字 \D可以匹配任意一个非数字 同理 \s 空白字符指空格、换行、tab \S \w \W
4. *指匹配前一个字符无限次
例:[\d]* 指可以匹配0-9 任意一个数字无限次 同理[ ] 中可以放\s \w 等
+ ? 用法同 *
5. {m}匹配前一个字符m次
例:[\d]{5} 指可以匹配0-9任意一个数字5次 {m,n}指匹配前一个字符m到n次
6. +? 因为*指匹配前一个字符1次或者是无限次 所以+?指匹配前一个字符1次后 尽可能不匹配前一个字符
*? ??用法同前
例:[\d]+? 待匹配字符串为45621 匹配结果为4
7. | 匹配左右任一个表达式
例:163|126 待匹配字符串为163则输出结果为163 带匹配字符串为126 则输出结果为126
8. (ac)将表达式分组
例:asd(dd1) 则dd1为一个分组可以单独操作 正则表达式 :[\w]{4,10}@(163|126|qq).com 待匹配表达式7855@163.com 待匹配表达式中163可以换为126或者qq
9.\<number> 引用编号为num的分组匹配到的字符串
例:正则表达式 :<([\w]{4}>)\1([\w]{3}>)\2 待匹配字符串<book>book>fff>fff> 第一个()中的字符串由\1 引用 第二个()中的字符串由\2引用
10(?P<name>) 分组起一个别名 (?P=name)引用别名为name的串
例:正则表达式<(?P<mark>[\w]{4}>)[\w]+</(?P=mark) 待匹配串 <book>python</book> 给第一个括号内的取名为mark 在第二个括号内引用
11. ^ 匹配字符串开头 即待匹配字符串的开头必须按照正则表达式的要求形式
$ 匹配字符串结尾 即待匹配字符串的结尾必须按照正则表达式的要求形式
例:正则表达式 [\w]{4,10}@163.com$ 待匹配字符串的结尾必须是@163.com不能多 也不能少
12 \A or \Z 指定的字符串必须出现在开头 or 结尾
\Z同理加在结尾
例: 正则表达式 \A sdff[\w]* 待匹配字符串sdff456ss可以匹配 asdff456ss无法匹配
以上
相关文章推荐
- Javascript中正则表达式的使用及基本语法
- 正则表达式基本语法
- 正则表达式的基本语法
- php正则表达式—基本语法
- JavaScript正则表达式上之基本语法(推荐)
- 常用正则表达式及基本语法
- 正则表达式基本语法
- 关于正则表达式基本语法
- js正则表达式基本语法(精粹)
- 学习:正则表达式的基本语法
- 【原创】shell基本语法.正则表达式.逻辑判断实验....
- 正则表达式 基本语法的整理
- 正则表达式的基本语法
- 正则表达式的基本语法
- 正则表达式基本语法(转)
- python学习笔记(五)正则表达式的基本语法和re模块API
- 正则表达式基本语法
- 正则表达式基本语法,正则表达式速查表
- 正则表达式基本语法详解
- 正则表达式的基本语法