正则表达式

正则表达式(Regular Expression):专门描述字符串中字符出现规则的表达式。

1、字符集

①简写:如果[]中部分备选字符连续,可用-省略中间字符
比如,手机号规则中:
[3456789] 可简写为 [3-9] 读作 3到9
[0123456789] 可简写为 [0-9] 读作 0到9
②其它简写:
要匹配一位小写字母:[a-z] 共26个
要匹配一位大写字母:[A-Z] 共26个
要匹配一位字母: [A-Za-z] 共52个
要匹配一位字母或数字:[0-9A-Za-z] 共62个
要匹配一位汉字:[\u4e00-\u9fa5]
19968 ~ 40869 共20902个

2、预定义字符集

正则表达式语法为四种最常用的字符集定义了最简化写法,称为预定义字符集。
包括:
要匹配一位数字: \d 等效于 [0-9]
要匹配一位字母、数字或_: \w 等效于 [0-9A-Za-z_]
要匹配一位空字符:\s 可匹配 空格、制表符Tab等空白
要匹配所有文字(通配符): .

3、数量词

一个字符集(\d或[0-9])只能匹配一位字符,要匹配9位字符,就必须重复写9遍
程序用规则匹配字符串,就像彩票兑奖一样,是逐字逐个规则匹配。不但内容要符合规则,位数首先要一致

今后,只要一个字符集在规则中可能连续反复出现多次,就要用数量词以简写方式定义出现次数。

在这里插入图片描述
①有明确数量边界的数量词
字符集{n} 表示字符集必须重复n次,不能多也不能少
字符集{n,m} 表示字符集至少重复n次,最多重复m次,
比如: \d{4,6} 表示4到6位数字
字符集{n,} 表示字符集匹配的内容至少重复n次,多了不限,比如:\d{6,} 表示6位以上数字
在这里插入图片描述

②没有明确数量边界的数量词
* 可有可无,多了不限
? 可有可无,最多一次
+ 至少一次,多了不限
在这里插入图片描述

4、选择和分组

①选择

如何: 子规则1 | 子规则2
读作: 满足规则1 或 满足规则2
②分组
分组,将多个子规则视为一组,再和分组外的规则匹配
只要希望将多个子规则视为一个整体,再和其它规则匹配时,就用分组
如何: 其它规则 (多个子规则)

5、指定匹配的位置

  1. ^ 表示字符串开头
  2. $ 表示字符串结尾
  3. \b 表示单词边界,可匹配:空格,标点符号,字符串开头和结尾等可将一个单词与其它单词分割开的符号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值