正则表达式

1. 正则表达式分类

正则表达式:REGEXP,REGular EXPression。
正则表达式分为两类:

  • Basic REGEXP(基本正则表达式)
  • Extended REGEXP(扩展正则表达式)

2. 基本正则表达式

//元字符 . //任意单个字符 [] //匹配指定范围内的任意单个字符 [^] //匹配指定范围外的任意单个字符 //匹配次数(贪婪模式) * //匹配其前面的任意单个字符任意次 .* //任意长度的任意字符 \? //匹配其前面的任意单个字符1次或0次 \+ //匹配其前面的任意单个字符至少1次 \{m,n\} //匹配其前面的任意单个字符至少m次,至多n次 //位置锚定 ^ //锚定行首,此字符后面的任意单个字符必须出现在行首 $ //锚定行尾,此字符前面的任意单个字符必须出现在行尾 ^$ //空白行 \<或\b //锚定词首,其后面的任意单个字符必须作为单词首部出现 \>或\b //锚定词尾,其前面的任意单个字符必须作为单词尾部出现 /分组 \(\) 例:\(ab\)* //后向引用 \1 //引用第一个左括号以及与之对应的右括号所包括的所有内容 \2 //引用第二个左括号以及与之对应的右括号所包括的所有内容

3. 扩展正则表达式

//字符匹配 . //匹配任意单个字符 [] //匹配指定范围内的任意单个字符 [^] //匹配指定范围外的任意单个字符 //次数匹配 * //匹配其前面的任意单个字符任意次 ? //匹配其前面的任意单个字符1次或0次 + //匹配其前面的任意单个字符至少1次 {m,n} //匹配其前面的任意单个字符至少m次,至多n次 //位置锚定 ^ //锚定行首,此字符后面的任意单个字符必须出现在行首 $ //锚定行尾,此字符前面的任意单个字符必须出现在行尾 ^$ //空白行 \<或\b //锚定词首,其后面的任意单个字符必须作为单词首部出现 \>或\b //锚定词尾,其前面的任意单个字符必须作为单词尾部出现 //分组 () //分组 \1,\2,\3,.... 例:(ab)* //后向引用 \1 //引用第一个左括号以及与之对应的右括号所包括的所有内容 \2 //引用第二个左括号以及与之对应的右括号所包括的所有内容 //或者 | //or 默认匹配|的整个左侧或者整个右侧的内容 //例:C|cat表示C或者cat,要想表示Cat或者cat则需要使用分组,如(C|c)at