基础 - 匹配0次或多次 ¶
作者:KK
发表日期:2017.6.8
要点速读 ¶
知识点:平时a
是匹配一个字母a,a+
是匹配一个或多个字母a,而当我们要匹配0个或多个时就要用a*
了,其实就是*
号起作用
b*c
匹配acd
的c,因为b可以出现0次b*c
匹配abcd
的bc,因为b也可以出现大于0次b*c
匹配abbcd
的bbcb*c
不匹配abed
<p>.*</p>
匹配<div>aaa<p></p>bbb</div>
里面的空内容p标签,因为.
表示任意字符,再加上*
表示任意字符可以出现0次或多次,所以就是说可以没有字符
JS代码 ¶
console.log(
'acd'.match(/b*c/)[0], // c
'abcd'.match(/b*c/)[0], // bc
'abbcd'.match(/b*c/)[0], // bbc
'abed'.match(/b*c/), // null
'<div>aaa<p></p>bbb</div>'.match(/<p>.*<\/p>/)[0] // <p></p>
);
PHP代码 ¶
preg_match('#b*c#', 'acd', $matchResult1);
preg_match('#b*c#', 'abcd', $matchResult2);
preg_match('#b*c#', 'abbcd', $matchResult3);
preg_match('#b*c#', 'abed', $matchResult4);
preg_match('#<p>.*</p>#', '<div>aaa<p></p>bbb</div>', $matchResult5);
header('Content-type:text/plain');
print_r([
$matchResult1[0], // c
$matchResult2[0], // bc
$matchResult3[0], // bbc
$matchResult4, // 空数组
$matchResult5[0], // <p></p>
]);