egrep 字符组 [...]

本文深入探讨了正则表达式中的字符组结构,解释了如何使用字符组来匹配特定字符集合,包括单个字符、多个字符、数字、字母、特殊符号等。通过实例展示了字符组在HTML代码搜索、头文件匹配、数字和字母范围匹配等方面的强大应用,同时强调了连字符、问号和点号在不同情境下的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、匹配若干字符之一
如果我们需要搜索的是单词“grey”,同时又不确定它是否写作“gray”,就可以使用正则表达式结构体(construct) [...]。它容许使用者列出在某处期望匹配的字符,通常被称作字符组。 e  匹配字符 e, a 匹配字符 a,而正则表达式 [ea] 能匹配e或者a。所以 gr[ea]y 的意思是:先找到g,跟着是一个r,然后是一个e或者a,最后才是一个y。


在一个字符组中可以举例任意多个字符。例如 [123456] 匹配1到6中的任意一个数字。。这个字符组可以作为 <H[123456]> 的一部分,用来匹配 <H1>,<H2>,<H3> 等等。在搜索HTML 代码的头文件时这非常有用。

在字符组内部,字符组元字符 “-”连字符 表示一个范围。

<H[1-6] <H123456>是完全一样的。 [0-9][a-z] 是常用的匹配数字和小写字母的简便方式。多重范围也是容许的,列如[0123456789abcdefABCDEF]可以写作[0-9a-fA-F](或者也可以写作[A-Fa-f0-9],顺序无所谓)

我们还可以随心所欲地把字符范围与普通文本结合起来,

[0-9A-Z_!.?] 能够匹配一个 数字、大写字符、下划线、感叹号、点号,或者是问号。


请注意,只有在字符组内部,连字符才是元字符,否则它就只能匹配普通的连字符号。其实,即使在字符组内部,它也不一定就是元字符。如果连字符出现在字符组开头,它表示的就只是一个普通字符,而不是一个范围。同样的道理,问号和点号通常被当作元字符处理,但在字符组中则不是如此(说明白一点就是, [0-9A-Z!.?] 里面,真正的特殊字符就只有那两个连字符)。



字符组 又称 字符集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值