正则表达式基础用法总结

正则表达式

正则表达式概述:专门描述字符串中字符出现规则的表达式

1、用途:(1)验证字符串格式 (2)查找、屏蔽敏感词

2、字符集

  • 某一位字符上可能有多种备选字时用:[备选字列表]
  • 如果[]中部分字符是连续的,可以用[x-x]
    • 一个小写字母:[a-z]
    • 一位大写字母:[A-Z]
    • 一位字母(大小写都行):[A-Za-z]
    • 一位字母或数字都行:[0-9A-Za-z]
    • 一位汉字:[\u4e00-\u9fa5]

3、预定义字符集(字符集的最简化写法):

​ \d -----------一位数字 [0-9]

​ \w ------------匹配一位字母、数字或_

​ \s ----------------可匹配空格、制表符Tab等空白

​ . ------------------匹配所有文字(通配符)

4、数量词

如果规定一个字符集或子规则反复出现的次数时就用量词

  • 有明确的数量边界的数量词

​ 字符集{n} ----------表示字符集必须重复n次,不能多也不能少

​ 字符集{n,m}----------表示字符集至少重复n次,最多重复m次

​ 字符集{n,} ---------------表示字符集匹配的内容至少重复n次,多了不限

  • 没有明确数量边界的数量词

    * 可有可无 多了不限 0个<=

    ? 可有可无,最多一次 0个或1个

    +至少一次,多了不限 1个<=

5、选择和分组

分组,将多个子规则视为一组,再和分组外的规则匹配,只要希望将多个子规则视为一个整体,再和其他规则匹配时,就用分组(信|x(in)?)

两个规则中选其一匹配即可:规则1 | 规则2

希望将多个子规则分为一组先联合匹配,再和分组外的其他规则联合匹配:(多个子规则)

6、指定匹配位置

^ 表示字符串开头

$ 表示字符串结尾

\b 表示单词边界(零宽)只匹配位置,不匹配字符,英文句子中的单词的左右边界

7、笔试题

在RegExp Buddy中定义规则

  • 仅匹配字符串开头的空字符 ^\s+
  • 仅匹配字符串结尾的空字符 \s+$
  • 同时匹配开头和结尾的空字符 ^\s+|\s+$
  • 匹配每个单词首字母 \b[a-zA-Z]
  • 匹配每个单词尾字母 [a-zA-Z]\b
  • 匹配每个单词的首尾字母 \b[a-zA-Z]|[a-zA-Z]\b

8、案例

  • 微信

    (微|w(ei)?)\s*(信|x(in)?)
    
  • 手机短信

    \d{4}(\d{2})?
    
  • 手机号

    1[3-9]\d{9}
    
  • 电子邮件

    第一种  \w+@\w+\.\w+(\.cn)?  
    第二种  (\w*|\d*)@\w*.(com|cn)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值