> 백엔드 개발 > PHP 튜토리얼 > 请教一个正则表达式的基础知识。

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

WBOY
풀어 주다: 2016-06-20 12:41:28
원래의
1064명이 탐색했습니다.

不知道这个问题应该在哪问,就借宝地请教一下。
刚才看到一个例子,有三组字符如下:
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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿