首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

神奇高效的字符类,你值得拥有!

今天是我陪你做实验的第36天

今 日 实 验

{正则表达式的字符类}

字符类能匹配特定的字符集,通过方括号把一列字符或一个范围的字符括在一起。

开始实验

创建实验文件lab02

最后一行是a按tab键后b

查询:lab02文件

所有a打头b结尾

中间任意空格的这些行

敲:grep 'a*b' lab02

用下面这条命令也能实现

敲:grep 'a[[:space:]]*b' lab02

其中[[:space:]]这一部分

叫做“字符类

划重点:

Posix除了定义操作系统

应该为

应用程序提供哪些接口

还定义了一些

只能在正则表达式中

使用的“字符类”

我收集了一下字符类

下面敲实验

验证它们的实际效果与用法

先写个字符串

.,.,?.!123abcABC abcA123..?1 2

包含了标点符号

数字小写字母大写字母空格

验:出现标点符号

最少4次,最多8次

敲:echo '.,.,?.!123abcABC abcA123..?1 2' | grep '[[:punct:]]\' --color=auto

验:上面基础上

后面是数字的

数字最少是1个

最多是3个

加[[:digit]]\

敲:echo '.,.,?.!123abcABC abcA123..?1 2' | grep '[[:punct:]]\[[:digit]]\' --color=auto

验:上面基础上

后面是小写字母的

出现几次都行

加[[:lower:]]*

敲:echo '.,.,?.!123abcABC abcA123..?1 2' | grep '[[:punct:]]\[[:digit]]\[[:lower:]]*' --color=auto

验:上面基础上

后面是大写字母的

出现几次都行

加[[:upper:]]*

敲:echo '.,.,?.!123abcABC abcA123..?1 2' | grep '[[:punct:]]\[[:digit]]\[[:lower:]]*[[:upper:]]*' --color=auto

验:上面基础上

后面是空格的

出现几次都行

加[[:space:]]*

敲:echo '.,.,?.!123abcABC abcA123..?1 2' | grep '[[:punct:]]\[[:digit]]\[[:lower:]]*[[:upper:]]*[[:space:]]*' --color=auto

验:上面基础上

显示到红色字体处

.,.,?.!123abcABC abcA123..?12

可以发现在上面基础上

又多了小写字母

大写字母、数字、标点等

使用[[:graph:]]*字符类

只要没有空格它全匹配

敲:echo '.,.,?.!123abcABC abcA123..?1 2' | grep '[[:punct:]]\[[:digit]]\[[:lower:]]*[[:upper:]]*[[:space:]]*[[:graph:]]*' --color=auto

以上就是对字符类的演示。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200323A045UX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券