>백엔드 개발 >PHP 튜토리얼 >正则表达式 - PHP 正则 [sS] 与 .* 与 . 与 (...)捕获 的区别

正则表达式 - PHP 正则 [sS] 与 .* 与 . 与 (...)捕获 的区别

WBOY
WBOY원래의
2016-06-06 20:33:551342검색

PHP正则表达式,想匹配如下文字 办证、办xxx证,办证,办证件,办0证,办00证。

<code>php</code><code>$reg = '/办(...){0,14}证/';
#办0证 这个居然无法匹配到?奇怪的怪事啊!
</code>

回复内容:

PHP正则表达式,想匹配如下文字 办证、办xxx证,办证,办证件,办0证,办00证。

<code>php</code><code>$reg = '/办(...){0,14}证/';
#办0证 这个居然无法匹配到?奇怪的怪事啊!
</code>

注意:符号.表示任意字符。这里你使用三个符号(.),另外你又使用了 {0,4}, 即表示(...)出现0次到至多14次,也就是说办后面出现字符是三的倍数。因此 “办0证” 肯定无法匹配。

你可以试下这个:$reg = '/办(.){0,14}证/';

如果没有办和证之间没有字数限制,那么直接这样就完事了:$reg = '/办(.*)证/'

同意楼上,/办[^证]{0,14}证/ 这句也可以,记得还有一个懒惰匹配和贪婪匹配的概念。。。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.