0

我有这样的字符串:

狗 狗 疯狗

我也有以下正则表达式:

[dog]*

现在,这匹配 dog dog ddog。我想摆脱额外的 d,并希望保持 1xdog dog dog 而不是 3xdog。

我是否遗漏了什么,或者这看起来有点棘手?

编辑:为了更好地解释,我不确定这是否只是困难或遗漏了什么。(dog)* 将产生 2 个命中:dog dog,第二个命中是 dog(从最后一个字符串开始)。我只想要一只打狗狗。例如,正则表达式突出显示正则表达式所击中的内容。

编辑2:基本上我问的是你是否必须使用 [dog]* (注意必须),你如何摆脱额外的 d ?

4

1 回答 1

1

使用方括号,您正在创建一个字符类。这意味着[dog]将匹配括号内的任何字符。*使其匹配这些字符之一的 0 次或多次。因此,它确实匹配“ddog”。它也会匹配“good”或“ggddo”。

于 2012-05-04T21:59:43.697 回答