码迷,mamicode.com
首页 > 其他好文 > 详细

第三章:匹配一组字符

时间:2018-05-26 23:23:17      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:ESS   利用   正则   其他   AC   效果   匹配   ack   back   

3.1 匹配多个字符中的某一个:

  .可以匹配任何单个字符,如果现在只想匹配na和sa,既然想匹配出n和s,在正则表达式中,我们可以用元字符 [ 和 ] 来定义一个字符集合

  文本:  

    sales.xls

    sales1.xls

    sales2.xls

    na1.xls

    sa.xls

    ca.xls

    na.xls

  正则表达式:

    [ns]a.\.xls

  结果:  

    sales.xls

    sales1.xls

    sales2.xls

    na1.xls

    sa.xls

    ca.xls

    na.xls

  分析:

    这里使用的正则表达式以[ns]开头,这个集合将匹配字符n或s(但不匹配c或其他的字符),[ 和 ] 不匹配任何字符,它们只负责定义一个字符集合

再看一个例子(字符集合在不需要区分字母大小写的搜索操作):

  文本:

    The phrase "regular expression" is often abbreviated as RegEx or regex

  正则表达式:

    [Rr]eg[Ee]x

  结果:

    The phrase "regular expression" is often abbreviated as RegEx or regex

3.2 利用字符集合区间

  文本:  

    sales.xls

    sales1.xls

    sales2.xls

    na1.xls

    sa.xls

    ca.xls

    na.xls

  正则表达式:

    [ns]a[0123456789]\.xls
  结果:  

    sales.xls

    sales1.xls

    sales2.xls

    na1.xls

    sa.xls

    ca.xls

    na.xls

注意:

  模式[0123456789]和模式[0-9]完全等价

1. A-Z:匹配A到Z的所有大写字母

2. a-z:匹配a到z的所有小写字母

3. A-F:匹配A到F的所有大写字母

  "-"是连字符,是一个特殊的元字符,作为元字符的它只能出现在[]之间,在[]之外,-只是一个普通的字符,只能与-本身相匹配,在正则表达式中,-不需要被转义

[A-Za-z0-9]:表示所有的大小写字母与数字。

3.3 取非匹配:

  除了那个字符集合里的字符,其他字符都可以匹配

  文本: 

    sales.xls

    sales1.xls

    sales2.xls

    na1.xls

    sa.xls

    ca.xls

    na.xls

  正则表达式:

    [ns]a[^0-9]\.xls

  结果:

    sales.xls

    sales1.xls

    sales2.xls

    na1.xls

    sa1.xls

    ca1.xls

    nam.xls

  分析:

    [^0-9]:表示匹配任何不适数字的字符

  注意:

    ^的效果是将作用于给定字符集合中的所有字符或字符区间,而不是仅限于紧跟在^字符后的面的哪一个字符或字符区间

第三章:匹配一组字符

标签:ESS   利用   正则   其他   AC   效果   匹配   ack   back   

原文地址:https://www.cnblogs.com/changlezhong/p/9094616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!