基础 - 匹配任意字符

  • 作者:KK

  • 发表日期:2017.6.7


JS代码

var str = 'haha abc xaxa',
	
	pattern = /a.c/,
	
	matchResult = str.match(pattern);

console.log(matchResult[0]); // abc

console.log('hehe a!c xxx'.match(pattern)[0]); // a!c

PHP代码

$str = 'haha abc xaxa';
	
$pattern = '#a.c#';
	
preg_match($pattern, $str, $matchResult1);

echo $matchResult1[0] . PHP_EOL; // abc
	
preg_match($pattern, 'hehe a!c xxx', $matchResult2);

echo $matchResult2[0] . PHP_EOL; // a!c

解释

上面的表达式中用了.号表示1个任意字符,只要在a与c之间,不管是数字还是符号都可以匹配

如果真的要匹配.号的话就要用\.来转换表示了,否则它是有特殊效果的,代表任意字符,任意字符……记住哦亲


扩展示例:JS代码

下面是从HTML获取href和网址部分的内容,其中在.号后面多了个+号,表示一个或多个任意字符,直到"号出现为止

var str = '<a href="http://xxx.com/yyy/zzz.html"></a>',
	
	pattern = /href=".+"/,
	
	matchResult = str.match(pattern);

console.log(matchResult[0]); // href="http://xxx.com/yyy/zzz.html"

扩展示例:PHP代码

$str = '<a href="http://xxx.com/yyy/zzz.html"></a>';
	
$pattern = '#href=".+"#';
	
preg_match($pattern, $str, $matchResult);

echo $matchResult[0]; // href="http://xxx.com/yyy/zzz.html"