Home  >  Article  >  Backend Development  >  请教一个正则表达式的基础知识。

请教一个正则表达式的基础知识。

WBOY
WBOYOriginal
2016-06-20 12:41:281011browse

不知道这个问题应该在哪问,就借宝地请教一下。
刚才看到一个例子,有三组字符如下:
z
zo
zoo
为什么zo*可以匹配z呢?zo+就只能匹配zo,zoo
难道zo*等于z{1}o*?
新手刚开始学正则,很多地方还不太明白,还请高手给予指点,谢谢。


回复讨论(解决方案)

*表示匹配前面的字符零次或多次,+表示一次或多次
zo*表示z后面有零个或多个o,zo+表示zo后面有零个或多个o

为什么zo*可以匹配z呢?zo+就只能匹配zo,zoo
*表示匹配0次或多次

所以zo* 匹配  z后面0个o到N个o都可以
z
zo
zoo
zoooo...都可以

如果你要匹配至少一次
应该写zo+

谢谢楼上两位。
*和+的意思我明白,我只是不明白他们的影响范围。根据你们的解答,看来*和+只会影响到o而对z没有影响。我之前一直以为zo*是指有0或N个zo,那看来我理解错了,zo*应该是指有1个z,0或N个o,应该是这样吧?

谢谢楼上两位。
*和+的意思我明白,我只是不明白他们的影响范围。根据你们的解答,看来*和+只会影响到o而对z没有影响。我之前一直以为zo*是指有0或N个zo,那看来我理解错了,zo*应该是指有1个z,0或N个o,应该是这样吧?



嗯,你现在的理解是对的了

0或N个zo 应该这样写 (zo)*

为什么zo*可以匹配z呢?
zo* 表示 一个 z 和 0 到 n 个 o 这样的字符组合

正则表达式的匹配单位是字符,而不是单词

谢谢大家,现在彻底清楚了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn