带问号的正则表达式

时间:2011-12-29 11:54:16

标签: regex

colou?r匹配colorcolour

但是以下?做了什么?

(first group)(second group)?(third group)

2 个答案:

答案 0 :(得分:7)

这是一个量词,意思是“零或一”。它适用于它之前的原子,因此,u

它是众多正则表达式元字符之一,这意味着,如果您想匹配文字问号,则必须将其转义(如\?),除外在一个角色类。

关于你的第二个例子:

(first group)(second group)?(third group)

它具有完全相同的含义。除了允许反向引用之外,分组运算符(...)也具有将任何东西转化为原子的良好效果。

这意味着,在这里,正则表达式second group匹配的文字可以显示0或1次,类似于u中的Colou?r

http://www.regular-expressions.info/reference.html

答案 1 :(得分:0)

?代表“可能是前一个角色”

colou?r表示u字符可能存在或不存在。这就是为什么'颜色'和'颜色'都匹配这个正则表达式。