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

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

WBOY
Release: 2016-06-06 20:33:55
Original
1338 people have browsed it

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

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

回复内容:

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

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

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

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

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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template