首頁 > 後端開發 > php教程 > 请教一个正则表达式的基础知识。

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

WBOY
發布: 2016-06-20 12:41:28
原創
1063 人瀏覽過

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

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

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板