在微软的网页上看到正则表达式语法的说明,关于星号是这样写的: 零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于 {0,}。 我测试过,像下面这几个 我用正则zo* 结果只匹配zo、z、zoo,而o和oo都不匹配 请问上面的解释中,零次或多次匹配前面的字符,在这里,指的是zo*中的z还是zo?如果是o,为什么o与oo都不匹配呢? 我在google搜索过,没有找到能解惑的答案,希望这里的大家能够帮我,谢谢。
这里星号对 o 起作用,所以 o 可以出现零次或多次,所以可以匹配: z //o 出现0次 zo //o 出现1次 zoo //o 出现2次 而你的 z 是必须的,所以 o 和 oo 都匹配不了。 如果希望星号是对 zo 起作用,可以写成 (zo)*。此时是可以匹配的: o //zo 出现0次 oo //zo 出现0次 z //zo 出现0次 zo //zo 出现1次 zoo //zo 出现1次