首页 > 代码库 > 正则表达式知识梳理
正则表达式知识梳理
首先先贴个网址:https://regexper.com/
此工具是用来帮助理解正则表达式的,在你阅读正则表达式的时候非常有用。
元字符:
具有特殊含义的非字母字符。包括: * + ?^ $ . | \ ( ) [ ] { } ,如果你能一下子就说出这些符号的含义,表示正则表达式的基础已经掌握了。
[]:用来匹配一类字符里的一个;
[^]:[^表示不包括这类字符。中括号中的^表示取反的意思;
[-]:中括号的里-表示范围的意思。
. :匹配所有字符。
\d:匹配所有的数字;
\D:匹配所有的非数字;
\s:匹配所有的空白符(空格回车换行)
\S:匹配所有的非空白符;
\w:匹配字母数字下划线;
\W:匹配非字母数字下划线以外的字符。
\b:匹配单词边界;
\B:匹配非单词边界;
^:匹配开头;
$:匹配结尾;
?:修饰前面的字符,表示最多出现1次;
+:修饰前面的字符,表示最少出现1次;
*:修饰前面的字符,表示可出现任意次;
{n}:修饰前面的字符,表示出现n次;
{n,}:表示至少出现n次;
{n,m}:表示出现n至m次;默认为贪婪模式,尽可能的多匹配;
{n,m?}:非贪婪模式,一旦匹配成功能不再向后匹配:
():分组,使量词作用于一组字符;$1:表示捕获到的分组的内容(反向引用);
|:表示或的意思;例:Red|Blue匹配Red或者Blue; 例:bl(ue|ack)匹配blue或者black;
(?=\d):断言,修饰前面的字符,表示不仅要匹配前面的正则内容,还要匹配断言的内容;断言部分只验证,不进行计算;
正则表达式知识梳理