第三章:匹配一组字符
Posted changlezhong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三章:匹配一组字符相关的知识,希望对你有一定的参考价值。
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]:表示匹配任何不适数字的字符
注意:
^的效果是将作用于给定字符集合中的所有字符或字符区间,而不是仅限于紧跟在^字符后的面的哪一个字符或字符区间
以上是关于第三章:匹配一组字符的主要内容,如果未能解决你的问题,请参考以下文章