01- 正则的基本元件

01- 正则的基本元件

img
#
\d # 代表数字的元字符
{11} # {} 中间的是量词 {11} 加在某个元字符后面 为 表示某字符出现的次数是11
\d{11}

元字符

所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,元字符是构成正则表达式的基本元件。正则就是由一系列的元字符组成的。

img

1、 特殊单字符

img

2、空白符

除了特殊单字符外,你在处理文本的时候肯定还会遇到空格、换行等空白符。其实在写代码的时候也会经常用到,换行符 \n,TAB 制表符 \t 等。

有编程经验的程序员肯定都知道,不同的系统在每行文本结束位置默认的“换行”会有区别。比如在 Windows 里是 \r\n,在 Linux 和 MacOS 中是 \n。

img

\s匹配上各种空白符号,也可以匹配上空格。换行有专门的表示方式,在正则中,空格就是用普通的字符英文的空格来表示。

3、量词

我们需要匹配单个字符,或者某个部分“重复 N 次”“至少出现一次”“最多出现三次”等等这样的字符,这个时候该怎么办呢?

img

4、范围

学习了量词,我们就可以用 \d{11} 去匹配所有手机号,但同时也要明白,这个范围比较大,有一些不是手机号的数字也会被匹配上,比如 11 个 0,那么我们就需要在一个特殊的范围里找符合要求的数字。

img

一些网站

正则网站or软件。

  1. https://regex101.com/ (老师用的)
  2. https://tool.oschina.net/regex/
  3. http://tool.chinaz.com/regex/
  4. https://www.w3cschool.cn/tools/index?name=re
  5. https://c.runoob.com/front-end/854
  6. http://tools.haokh.net/Regex
  7. Windows 上推荐:RegexBuddy
  8. Mac上推荐:Expressions

备注:1中支持账号功能,可以保存后进行分享。2~6都包含大量常用的正则示例。7&8 都需要付费。

一个练习

通过今天的学习,不知道你元字符掌握到何种程度了呢?那么不妨练习一下吧!我在这里给出一些手机号的组成规则:

第 1 位固定为数字 1;

第 2 位可能是 3,4,5,6,7,8,9;

第 3 位到第 11 位我们认为可能是 0-9 任意数字。

表达式:

1[3-9][0-9]{9}
#或者
1[3-9]\d{9}
posted on 2022-04-04 18:16  OwlInTheOaktree  阅读(49)  评论(0编辑  收藏  举报