三、正则表达式

本文深入介绍了正则表达式的基本概念和元字符的使用,包括*、.、^、$等,以及它们在文本查询和字符串操作中的作用。此外,还探讨了正则表达式的扩展,如?、+和(),以及它们如何与|符号结合以匹配一组可选字符。最后,文章提到了正则表达式在bash shell中的通配功能,如?、*和[]等元字符在通配中的特殊意义。

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

1.正则表达式

  • 元字符(Metacharacters)

    • 定义

      描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述

    • 作用

      用来阐释字符表达式意义的字符

  • 正则表达式(RE (Regular Expression))

    • 定义

      由一串字符和元字符构成的字符串

    • 作用

      进行文本查询和字符串操作,它可以匹配文本的一个字符或字符集合

  • 基本的正则表达式元字符集合及其意义

    符号意义
    *0个或多个在*字符之前的那个普通字符
    .匹配任意字符
    ^匹配行首,或后面字符的非
    $匹配行尾
    []匹配字符集合
    \转义符,屏蔽一个元字符的特殊意义
    <>精确匹配符号
    {n}匹配前面字符出现n次
    {n,}匹配前面字符至少出现n次
    {n,m}匹配前面字符出现n~m次
    • 特殊用法

      • 匹配空行

        ^$ #该正则表达式既匹配行首,又匹配行尾,中间没有任何字符,因此为空行
      • “^”表示取反

        ""符号表示匹配行首,但是“”符号放到“[]”符号中就不再表示匹配行首了,而是表示取反符号

        [^b-d] # "^"表示取反

2.正则表达式的扩展

  • 扩展的正则表达式元字符及其意义

    符号意义
    ?匹配0个或1个在其之前的那个普通字符
    +匹配1个或多个在其之前的那个普通字符
    ()表示一个字符集合或用在expr中
    |表示“或”,匹配一组可选的字符
    • 说明

      “()”符号通常与"|"符号结合使用,表示一组可选字符的集合

      re(a|e|o)d # 匹配read、reed、reod

3.通配

​ bash shell可以使用正则表达式中的一些元字符实现通配(globbing)功能。

​ ?、*、[]、{}、^等这些元字符在通配中的意义与正则表达式中的意义不完全一致,*符号表示任意位的任意字符,?字符表示一个任意字符,^符号在通配中代表取反。

​ 内部变量GLOBIGNORE保存了通配时所忽略的文件名集合。

​ ?、*、[]、{}、^五个符号和GLOBIGNORE变量构成了shell通配的所有内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值