linux——正则表达式在linux中的应用(3):常用符号

我们在连续匹配中提到:用“.”来表示任意字符。如下所示:

如上,我们发现“a aa”被匹配了,因为“.”不仅可以匹配字符,还能匹配空格,后面“ab a”被匹配到也是同理。

如果我们想要只单单匹配到字母,可以用[[:alpha:]]

  • [[:alpha:]] & [[:lower:]] & [[:upper:]] 可分表表示 任意字母,任意小写字母和任意大写字母。

  • []用来表示指定范围内的任意单个字符,如下所示,”abc1“中被匹配到的只有"ab",[bcd1]表示只能匹配到一个位置。

  • [^ ]表示不能是方括号里面的任意字符。如下例:

注意:”^“的定义为锚定行首,但是与"[ ]"结合在一起的时候,只能把[^]当作一个整体去看,如果^在[]外侧,如^[abc]则表示匹配项肯定以abc中的某一个字符为开头,例如下:

  • \d等简写,”\d“表示任意数字,但是grep没法识别这种简短格式,所以下图中没有匹配到结果。为了让grep能识别这种简短格式,使用”-P“选项,表示grep使用兼容perl的正则表达式引擎,结果如下:

总结:

  1. [[:alpha:]],[a-zA-Z]表示任意大小写字母;
  2. [[:lower:]],[a-z]表示任意小写字母;
  3. [[:upper:]],[A-Z]表示任意大写字母;
  4. [[:digit:]]表示0-9之间的任意单个数字,
  5. [[:alnum:]]表示任意数字或者字母;
  6. [[:space:]]表示任意空白字符,包括“空白”,”tab“,
  7. [[:punct:]]表示任意标点符号。
  8. ”[ ]“表示匹配指定范围内的任意单个字符。
  9. ”[^ ]“表示不能是方括号里面的任意字符。
  10. #简短格式并非所有正则表达式解析器都可以识别
  11. \d表示任意单个0-9的数字
  12. \D表示任意单个非数字字符
  13. \t表示匹配单个横向制表符(相当于一个tab键)
  14. \s表示匹配单个空白字符,包括”空格“,”tab制表符“等
  15. \S表示匹配单个非空白字符。

 

参考:http://www.zsythink.net/archives/1921

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell编程正则表达式是一种用于匹配和操作字符串的强大工具。它使用特定的语法规则来描述和匹配符合某个模式的字符串。在Shell编程常用的工具如grep、sed和awk都支持使用正则表达式进行模式匹配和文本处理。正则表达式由普通字符和特殊字符(元字符)组成。普通字符指的是任意字母、数字或其他字符,而元字符具有特殊的意义和功能,用于表示模式的特定字符或符号。通过使用正则表达式,可以实现字符串的匹配、替换、提取等操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Shell编程之正则表达式](https://blog.csdn.net/weixin_51099370/article/details/124568808)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linux操作系统——Shell编程 正则表达式](https://blog.csdn.net/weixin_46411355/article/details/125628828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值