元字符

1 元字符 []

1.1匹配若干字符之一

如果我们要匹配单词‘grey’,同时又不确定它是否被写作为‘gray’,就可以使用正则表达式结构体[...]:
gr[ea]y
它的意思是匹配g 然后r 然后 是 e或者 a 最后是 y。
在一个字符组中可以列举任意多的字符,例如:[123456],匹配1-6中的日益一个数字。
在字符组内部。字符组元字符 - 表示一个范围 [123456]与[1-6]是一个意思
只有在字符组内部 - 才表示范围,但即使是在字符组内它也不一定表示范围,如果它出现在字符组的开头,它只是一个普通字符。同样?和.在字符组中也只是普通字符 [0-9A-Z_!.?] 中只有两 - 是元字符

1.2排除型字符组

用[^...]取代[...],这个字符组就会匹配任何未列出的字符,如:
[^1-6]匹配除了1到6以外的任何字符。
在这个字符中^表示 排除,这里列出的是不希望匹配的字符

1.3用点号匹配任意字符

元字符 . 是用来匹配任意字符的字符组的简便写法
如果我们要检索01/02/03或者 01-02-03或者01.02.03
我们可以使用 01[-./]02[-./]03 也可以使用 03.02.03

2元字符 |

| 元字符是或的意思,依靠它我们能把不同的子表达式组合成一个总的表达式,而这个表达式又能够匹配任意的子表达式。如:
Bob 和 Rob 是两个表达式,但 Bob | Rob 就是能够同时匹配其中任意一个的正则表达式。再这样的组合中子表达式成为“多选分支”。
上面的 gr[ea]y 可以写成 grey|gray 或者 gr(a|e)y。
对表达式gr(a|e)y来说,括号是必须的如果没有括号 意思就变为 gra或者ey了。

3单词分界符

使用正则的时候有时我们会想要匹配一个 单词,例如 我们要匹配 cat,
二忽略cats。这是就需要单词分界符了,<和>,分解可以匹配单词的开始和结束 。就会拿只匹配 cat 这个单词。

4可选项元素

现在我们来匹配color或者colour。我们可以用元字符 color|colour,但这样写比较麻烦,使用元字符?更简单 colou?r,?代表可选项。把他放在一个字符的后面,就表示此处容许出现这个字符,不过它的出现并不是匹配成功的必要条件。

5其他量词 重复出现

+和*的作用于?类似。
+表示之前紧邻的元素出现一次或多次,
表示之前紧邻的元素出现多次或不出现,
...?于...
永远不会匹配失败,区别只是在于他们匹配的结果。

你可能感兴趣的:(元字符)