正则表达式

什么是正则表达式? 正则表达式只是一个字符模板,用来在搜索中匹配相同的字符,在大多数程序中,正则表达式是括在正斜杠中间的。例如,/love/就是一个以正斜杠为分隔符的正则表达式,其中的模板love将用在搜索所有行中与它匹配的字符。

                                                              

                               表 2.1 正规表达式的元字符集
   元字符         功能               例子                               匹配什么
  
     ^         锚定行的开始         /^love/                      匹配所有以 love 开头的行
     
     $         锚定行的结束         /love$/                      匹配所有以 love 结束的行
     
     .         匹配一个字符         /l..e/              匹配所有这样的行,这些行包含这样的字符:第一个字符
                                                      是 l,紧跟着两个字符,然后是 e
     *    代表 0 个或者多个先前字    /*love/         匹配所有这样的行,有 0 个或者多个空格,空格后跟着love
    
    []     匹配字符组中的一个字符    /[Ll]ove/         匹配所有包含 love 或者 Love 的行
   
   [x-y]   匹配以字符范围组成的组   /[A-Z]ove/        匹配所有这样的行,这些行包含如下的字符,第一个字符是从 
                                                  A 到 Z 中间的一个,后面跟着love                        着 ove
    [^]    匹配一个不在范围内的字   /[^A-Z]ove/        匹配所有这样的行,这些行包含如下的字符,第一个字符不是
                                                  从 A 到 Z 中间的一个,后面跟着 ove
     \      用来转义一个元字符       /love\./         匹配所有这样的行,这些行包含如下的字符:love 后面跟着
                                                   一个点。通常点是表示任何字                                                           符的通配符
                       
                       许多使用 RE 元字符集的 UNIX 程序都支持附加元字符集。
    \<       锚定单词的开始         /\<love/          匹配所有这样的行,这些行包含以 love 开头的单词(vi 
                                                   和 grep 支持这个功能)
    \>       锚定单词的结束         /love\>/          匹配所有这样的行,这些行包含以 love 结束的单词(vi 
                                                   和 grep 支持这个功能)
  \(..\)    标记后面用到的匹配   /\(love\)able/\1rs/   最多可以使用 9 个标签。第一个标签是模板最左边的部
                                                   分。在本例子中,模板 love 保存为标签 1,后面的\1 指
                                                   的就是 Love;本例子搜索的是这样的行,这些行包含这样
                                                   的字符,在 Loveable 后面跟着 lovers
   x\{m\}    重复字符x,m次       0\{5\}             匹配包含5个0的行
  x\{m,\}   重复字符x,至少m次    0\{5,\}             匹配至少包含5个0的行
  x\{m,n\}  重复字符x,至少m次,不多于n次; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值