正则表达式

  1. 概念:正则表达式描述了一种字符串匹配的模式,可以用来检测一个串是否含有某种子串,将匹配的字串替换或者从某个串取出符合某个条件的字串

  • runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。

  • runoo*b,可以匹配 runob、runoob、runoooooob 等,* 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。

  • colou?r 可以匹配 color 或者 colour,? 问号代表前面的字符最多只可以出现一次(0次、或1次)。


  1. 方法:正则表达式的方法是用多种元字符和运算符将小的表达式放在一起来创建更大的表达式。

    正则表达式的组件:单个字符,字符合集,字符范围。

    普通字符:a-z

    特殊字符:

    • ^ 匹配字符串的开始

    • $ 匹配字符串的结束

    • \w 匹配字母或数字或下划线或汉字

    • \s 匹配任意的空字符

    • . 匹配除换行符以外的任意字符

    • \b 匹配单词的开始或结束 ^\d8$ ^\d{14,18}$ ^ab$

    • \d 匹配数字 \babc ^\d\d\d\d\d\d\d\d\d$ ^1\d\d\d\d\d\d\d\d\d\d$

  限定符

语法说明
* 重复零次或者更多次
+ 重复一次或更多次
重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

  分组

 正则表达式中小括号()来做分组,括号内容作为整体 例:匹配0或多个ab开头的^(ab)*

  转义

  转义是将元字符,限定字符伙子是关键字转义为普通字符。\需转义的字符

  条件或

  联通手机号匹配^(130|131|176|186)\d{8}$

转载

https://www.zhihu.com/question/48219401/answer/742444326

 

posted @ 2021-07-23 14:05  扣扣M  阅读(48)  评论(0)    收藏  举报