正则表达式
看完这边教程你会发现自己明白了很多,却又几乎什么都记不得;以后你还需要多练习,多使用,才能熟练掌握正则表达式
正则表达式到底是什么东西?
正则表达式也是用来进行文本匹配的工具,由“元字符”【一个特殊代码】和“普通文本字符”组成
元字符可以是代表字符,位置或者数量
分隔字符:空格,标点符号和换行;
空白符:包括空格,制表符(Tab),换行符,中文全角空格等
转义:采用\来取消某些字符的特殊含义(/.;/*;//)
元字符一般用于修饰前面一个单词,一个字母,一个汉字。
常用元字符
- .:匹配除了换行符以外的任意字符
- *:匹配任意数量的字符;用来修饰前面个元字符
-
\d:匹配一个数字(代表一个数字)
- \b:匹配单词的开头和结束(单词以分隔符分开),只匹配位置(分隔符和单词之间)
- \s:匹配任意的空白符
- \w:匹配一个字母,数字,下划线和汉字
- ^:匹配字符串的开始-------^/d{11}$:输入的手机号字符串必须为11位数字
- $:匹配字符串的结束
重复次数
- {}:重复的次数;{2}--重复两次,{2,5}--重复2-5次
- ?:重复零次或多次
- +:匹配一个或多个;\d+--匹配一个或多个数字
- *:重复零次或多次
字符串类
- 【abcd】:匹配abcd中的任意一个
- 【0-9】:匹配任意一个数字
分支条件--有几种规则,如果满足其中任意一种规则都应该匹配;用"|"把不同的规则分隔开
-
执行过程:从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。
- d{5}-\d{4}|\d{5}--注意顺序
分组--用于重复多个字符--()
- (\d\.){3}--匹配
反义--匹配不属于某个字符的字符,查找除了数字以外,其它任意字符都行的情况
- \D:匹配任意非数字的字符
- [^fen]:匹配除了fen这三个字母以外的字符
零宽断言--查找在某些内容(并不包括这些内容)之前或之后的东西
- (?=exp):匹配exp之前的内容------\d(?=ing)----匹配ing之前的一个数字
- (?<=exp):匹配exp之后的内容--- (?<=re)\d----匹配re之后的一个数字
**********************************************************************************