正则表达式基础

<!--
 *     表示0次或者多次,等同于{0,}。
 +     表示一次或者多次,等同于{1,}。
 ?     表示0次或者1次,等同于{0,1}。
      在合法的情况下,它们会尽量多去匹配字符,这就叫做贪心模式,
      如果我们希望正则尽量少地匹配字符,那么就可以在表示数字的符号后面加上一个?
      组成如下的形式:{n,}?, *?, +?, ??, {m,n}?。
 ^   表示只匹配字符串的开头。
 $   则只匹配字符串结尾的字符。
 .   会匹配字符串中除了换行符 之外的所有字符。
 |     二选一,正则表达式中的或,b|c表示,匹配b或者c。
 []  [abc]表示a或者b或者c中的任意一个字符。
 [^] 反字符集合[^abc],^在字符集和中,它表示的是类似“ 非“ 的意思,
      如[^abc]就表示不能是a,b或者c中的任何一个。
      表示的边界的意思,也就是说,只有字符串的开头和结尾才算,
      /c/就表示字符串开始的c或者是结尾的c。与对应B表示非边界。
 d     表示数字的意思,相反, D表示非数字。
      f匹配换页符, 匹配换行符, 匹配回车, 匹配制表符, v匹配垂直制表符。
 s     匹配单个空格,等同于[f v],S表示非空格字符。
 w     表示单词字符,等同于字符集合[a-zA-Z0-9_],W表示非单词字符,等效于[^a-zA-Z0-9_]。
 (?:pattern)的正则就可以避免保存括号内的匹配结果。
 (?=pattern)正向预查:要匹配的字符串,后面必须紧跟着pattern。
 (?!pattern)和?=恰好相反,要求字符串的后面不能紧跟着某个pattern。
 /pattern/i 不区分大小写,修饰符 i。
 search        返回正则表达式第一次匹配的位置。
 split        返回分割后的数组。
      有特殊功能的字符都叫做元字符。
-->

原文地址:https://www.cnblogs.com/pingjianga/p/5974499.html