首页 > 解决方案 > 当匹配什么都没找到时如何得到假?

问题描述

当我运行此代码时:

var foundUrlString = savedPage.match( /og:url.*="(http.*\.com)/i );
var foundUrl = foundUrlString[1];

如果页面上没有匹配项,我会收到错误消息:

表达式 'foundUrlString' [null] 的结果不是对象

当没有匹配项而不是此错误时,如何获得“假”?

标签: javascriptregexregex-group

解决方案


离开你所拥有的,你可以在第二行添加一个“真实”检查:

var foundUrlString = savedPage.match( /og:url.*="(http.*\.com)/i );
var foundUrl = !!foundUrlString && foundUrlString[1];

这将foundUrl作为匹配的字符串或false.


推荐阅读