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

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

WBOY
WBOYOriginal
2016-06-06 20:33:551344Durchsuche

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}证/ 这句也可以,记得还有一个懒惰匹配和贪婪匹配的概念。。。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn