利用字符集合区间的正则表达(二)

利用字符集合区间的正则表达(二)

利用元字符 [ 和 ] 定义一个集合,出现在[ 和 ] 之间的所有字符都是集合的组成部分,必须匹配到其中的某个成员,但并非全部,[ ] 不匹配任何字符,它们只负责定义一个字符集合,是属于OR关系,而不是AND关系

正则表达:

[ns]a.\.xls

正则解释:[ 和 ] 表示定义了一个集合,[ns]会匹配到以n或s字母开头字符,普通字符a匹配字符a,\.对.(dot)进行了转意,表示只匹配到.(dot),普通字符xls匹配字符串xls

正则表达:

[Hh][Tt][Mm][Ll]

正则解释:这个正则可以匹配html元素

<html><head><\head><body></body></html>

正则表达:

[ns]a.[0123456789]\.xls

等价于

[ns]a.[0-9]\.xls

笔记:[0-9] 是字符区间,这样的合法的字符区间还有很多,例如:

  • A-Z,匹配从A到Z的所有大写字母
  • a-z,匹配a到z的所有小写字母
  • A-F,匹配A到F的所有大写字母
  • A-z,匹配ASCII(美国信息交换标准代码)字符A到ASCII字符z的所有字母

开源中国对ASCII表的总结:https://tool.oschina.net/commons?type=4

不难发现从从ASCII值为91-96对应的字符不是大小写字母,所以这个字符区间A-z一般不常用

注意:-是一个特殊的元字符,它只有出现在字符集合[ 和 ] 之间的时候才是元字符。在字符集合以外的地方,-只是一个普通字

字符区间[0-9A-Fa-f]可以用于匹配RGB的值

正则表达:

#[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]

笔记:连续写6个[0-9A-Fa-f]其实很麻烦,后面可以简化

匹配到正确的结果的正则表达式没有对错,只是程序员习惯使用哪一种罢了,只要匹配到正确结果的正则表达式都是好的,无论简繁与否

排除集合(实质上是在集合中取反)

[ns]a[^0-9].\xls

元字符 ^ 用于排除字符集合,强制排除指定字符集合之外的字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值