我有一个JS正则表达式。
var t1 = str.match(/\[h1\]/g).length;
如果str
包含单词[h1]
,则可以正常使用,但会显示错误!
如何解决问题?
答案 0 :(得分:30)
var t1 = (str.match(/\[h1\]/g)||[]).length;
答案 1 :(得分:2)
你是如何分两步完成的,在你获得长度之前先测试它。
var t1 = 0;
var string = str.match(/\[h1\]/g);
if (string){
t1 = string.length;
}
答案 2 :(得分:1)
这就是它的工作方式。你还没有发现问题。
如果您想根据str
是否包含“[h1]”来执行某些操作,请尝试以下操作:
var t1;
var strmatch = str.match((/\[h1\]/g);
if (strmatch !== null) {
t1 = strmatch.length;
}