1.什么是正则表达式?
官方解释正则表达式是描述一组字符串的模式,正则表达式类似算数表达式构造,通过使用各种特殊符号组合来表示一组字符串。
2.元字符
元字符 |
描述 |
示例 |
. |
匹配任意单个字符 |
a.:匹配a开头任意字符结尾 |
* |
匹配紧挨在前面的字符任意次(0,1或无限次) |
a*:匹配a多次 |
.* |
匹配任意长度的任意字符 |
a.*:a开始任意长度的行 |
^ |
行首定位符 |
^root:root开头的行 |
$ |
行尾定位符 |
root$:root结尾的行 |
[] |
匹配指定范围内的任意单个字符 |
[abc]:匹配a或b或c |
[^] |
匹配指定范围外的任意单个字符 |
[^abcd]:匹配非a,b,c,d以外的任意字符 |
\? |
匹配前面的字符0次或1次 |
a\?:匹配a0次或1次 |
\{m,n\} |
匹配前面的字符至少m次,至多n次 |
a\{2,5\}:匹配a至少2次,至多5次 |
\{m,\} |
匹配前面的字符至少m次 |
a\{5,\}:匹配a至少5次 |
\{m\} |
精确匹配前面的字符m次 |
a\{5\}:精确匹配a 5次 |
\<pattern\> |
单词锚定 |
\<root\>:匹配root单词 |
\(\) |
分组 |
|
3.特殊字符
特殊符号 |
描述 |
[:alnum:] |
英文大小写及数字,即0-9,a-z,A-Z。 ***** |
[:alpha:] |
英文大小写,即a-z,A-Z ***** |
[:blank:] |
空格键与tab键 |
[:digit:] |
表示数字 ***** |
[:lower:] |
表示小写 ***** |
[:upper:] |
表示大写 ***** |