RegExp

正则表达式其实主要的组成部分可以分成两个,一个是匹配的字符集,一个是匹配的次数;基本上就是前面是一个字符集,后面加个限定符表示匹配的次数。


正则表达式其实主要的组成部分可以分成两个,一个是匹配的字符集,一个是匹配的次数;基本上就是前面是一个字符集,后面加个限定符表示匹配的次数。这里有几个注意事项:

  1. 被“[]”中括号包围起来的,其匹配的目标只有一个字符,就算里面写了一堆字符,如“[0-9a-zA-Z]”,也只表示匹配一个字符,匹配的字符只能在方括号范围内;
  2. 经常看到“+”,“?”,“*”,“{m,n}”花括号括起来这种样子的,特别是“+”,很容易被以为是把两个匹配表达式的结果给加起来或者怎么样,注意,注意,注意,不是,不是,不是!这些就是限定符,跟在字符集的后面,限定前面的那一个字符/字符集出现的次数,具体的含义这里就不说了,自己到上面的教程上查就行;
  3. 还有比较重要的就是“^”和“”,表示行开头和行结尾,“”写在正则表达式最前面,如“s.∗”,这就表示以s开头,然后后面接任意字符的任意次数,同理“.∗s”,表示行开头和行结尾,“”写在正则表达式最前面,如“s.∗”,这就表示以s开头,然后后面接任意字符的任意次数,同理“.∗s”就表示以s结尾,s前面是任意字符出现了任意次;
  4. “.”这个只要不是在“[.]”方括号内,以及转移字符“.”后面,就表示任意字符,否则就表示dot、小黑点本身;转移字符“\”这个很简单,很多语言都有,主要就是把表示特殊含义的字符,消除它的特殊含义,回归到其本身的意思,比如“”,这里“”就不表示行结尾了,而是就是美元符号;
  5. 用“()”括号括起来的,表示成了一个组,把一些字符集包含进来,成为一个整体,可以理解就是个更大的字符集
0%