基础的正则知识

在笔试的过程中,总会碰到很多关于正则的问题,不会写,不了解正则是什么,怎么写,真的很难受...

趁着还有时间,补补一点基础的正则知识,这篇文章知识只是为了方便自己平时查阅,不会很深入正则,毕竟要学好,还是要花很多功夫的,有时间再深入了解吧~

一切从简单开始:

  1. 元字符
  • 概念:匹配一个位置或字符集合的一个字符
  • 分类:​​​​​​​

(1)匹配位置

^:匹配行的开始
$:匹配行的结尾
\b:匹配单词的开始或结尾,即单词的分界处

(2)匹配字符

.:匹配除换行符之外的任意字符
\w:匹配单词字符(包括字母、数字、下划线和汉字)
\W:匹配任意的非单词字符
\s:匹配任意的空白字符,如空格、制表符、换行符等
\S:匹配任意非空白字符
\d:匹配任意数字
\D:匹配任意的非数字

  2.字符类

  • 概念:一个字符集合,如果该字符集合中的任何一个字符被匹配,则会找到该匹配项
  • 常用的字符类
[aeiou]:匹配字符集合中的任何一个字符
[^aeiou]:匹配除了字符集合中之外的字符
[0-9a-zA-Z]:匹配任何数字、字母(大小写)和下划线,等同于\w
[^0-9a-zA-Z]:匹配除任何数字、字母、下划线的字符,等同于\W

3.限定符

  • 概念:用于指定允许特定字符或字符集自身重复出现的次数
  • 常用限定符
{n}:重复n次
{n,}:重复至少n次
{n,m}:重复至少n次,最多m次
*:重复至少0次,等同于{0,}
+:重复至少1次,等同于{1,}
?:重复0次或1次,等同于{0,1}

上述为贪婪匹配

*?:尽可能少地使用重复的第一个匹配
+?:尽可能少的使用重复但至少使用一次
??:使用零次重复或一次重复
{n}?:等同于{n}
{n,}?:尽可能少的使用重复但至少使用n次
{n,m}?:介于n次和m次之间,尽可能少地使用重复

上诉为懒惰匹配

猜你喜欢

转载自blog.csdn.net/tozeroblog/article/details/81979746