Rumah  >  Artikel  >  pembangunan bahagian belakang  >  请教一个正则表达式的基础知识。

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

WBOY
WBOYasal
2016-06-20 12:41:281011semak imbas

不知道这个问题应该在哪问,就借宝地请教一下。
刚才看到一个例子,有三组字符如下:
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 这样的字符组合

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn