概念
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
入门
看了概念过后是不是一头雾水?那么我们举个简单的例子,比如你在查找一本字典上的内容,例如单词abandon,如果我们要精确查找到这个单词的话,就需要用到正则表达式来表示。
当我们要使用正则表达式的时候,则需要使用元字符/开头,那么什么又是元字符呢?所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,简单点来说就是在正则表达式中定义的一套规则。
一些常见的元字符:
^ 匹配输入字行首。
$ 匹配输入行尾。
\w 匹配字母、数字、下划线和汉字。
\d 匹配数字。
\b 单词的开始或者结束。
\s 匹配任何不可见字符,包括空格、制表符、换页符等等。
例子:
例如我们要寻找abandon这个单词
用正则表达式表示就是: \ba\w*\bn或者直接就是\ba\w*\b来表示
其中\ba表示匹配a开头的单词,\w*表示匹配0个或者多个字母,\bn表示匹配n结束的单词,同理第二个后面\b表示结束。
重复次数:
* 重复零次或者更多次
+ 重复一次或者更多次
? 重复一次或者零次
{n} 重复n次
{n,} 重复n次或者更多次
{n,m} 重复n次到m次
例如:{1,9}表示的是匹配1次到9次,那么我们用到上面知识再思考一下 \d{1,9}是表示的什么呢?我们知道\d表示的是匹配数字,而{1,9}表示匹配1次到9次,所以\d{1,9}表示的是匹配1到9位的数字。
同理,(\d{1,9}){3}表示的是匹配3次匹配1到9位的数字。
反义
那么我们如果想要匹配字符呢?这时候我们就需要用到正则表达式中的反义来解决了。
\w 匹配包括下划线的任何单词字符。
\s 匹配任何不可见字符,包括空格、制表符、换页符等等。
\D 匹配一个非数字字符。
\f 匹配一个换页符。
\n 匹配一个换行符。
\r 匹配一个回车符。