字符区间和转义以及取非匹配(-、 \ 、 ^)

2017-12-10 20:00:35
linefo
1011
最后编辑:linefo 于 2017-12-14 10:34:14

字符区间(-)


【例子】匹配0到9的数字

(用 - 连接两个值,可以表示一个取值区间,但必须是特定的对应值才能生效,参考ASCII表字符顺序)

([0-9]和[0123456789]是等价的)



同理:
[A-Z],匹配从A到Z的所有大写字母
[a-z],匹配从a到z的所有小写字母
[A-F],匹配从A到F的所有大写字母
[a-f],匹配从a到f的所有小写字母
[0-7],匹配从0到7的数字
(PS:[A-z]这种模式一般不常用,因为它还包含着一些ASCII字符表在A和z中间的字符,ASCII字符表:http://www.linefo.com/index.php/article/reference-1.html



【例子】匹配从A到Z、a到z、0到9的字符

(可以一次使用多个区间)


取非匹配(^


【例子】匹配除了0到8数字的值

(^作用不仅仅是下一个字符,而是之后的所有字符)


转义(\)


再解释一下元字符的定义:

元字符是正则表达式中有特殊功能的字符,它可能代表一批字符或者有特定的作用,所以它们不能代表自己。


转义在之前的章节已经介绍过了,就是在元字符前面加 \ (反斜杠)即可,所以匹配 \ 的时候就是“”\\“”


用来配对的元字符,如 [ 和 ], 想要查找它们自己,必须要加 \ ,否则可能会报错