Javascript 如果一个组没有';不匹配?

Javascript 如果一个组没有';不匹配?,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个正则表达式: var match = /^[\s\S]*(?:^|\r?\n)\s*(\d+)(?![\s\S]*(\r?\n){2})/m.exec(val); var before = Number(match[1]) + 1; 现在,当没有任何匹配项时,我面临以下错误: 未捕获的TypeError:无法读取null的属性“1” 我怎样才能修好它?我想我必须设置NULL而不是match[1]试试这个: var before=(match==null)?1:匹配[1] 如果没有找到

我有一个正则表达式:

var match  = /^[\s\S]*(?:^|\r?\n)\s*(\d+)(?![\s\S]*(\r?\n){2})/m.exec(val);
var before = Number(match[1]) + 1;
现在,当没有任何匹配项时,我面临以下错误:

未捕获的TypeError:无法读取null的属性“1”

我怎样才能修好它?我想我必须设置
NULL
而不是
match[1]

试试这个:

var before=(match==null)?1:匹配[1]

如果没有找到匹配项,则将
before
设置为
1
,否则将返回正确的匹配项。

尝试以下操作:

var before=(match==null)?1:匹配[1]


如果没有找到匹配项,这将把
before
设置为
1
,否则它将返回正确的匹配项。

您应该先进行匹配,看看是否有匹配项

var m = /^[\s\S]*(?:^|\r?\n)\s*(\d+)(?![\s\S]*(\r?\n){2})/m.exec(val);
var before = m === null ? 0 : +m[1]+1;
/* notice the Array returned by match can be immediately accessed then
   cast to a number with + in front */

你应该先进行一场比赛,看看是否有比赛

var m = /^[\s\S]*(?:^|\r?\n)\s*(\d+)(?![\s\S]*(\r?\n){2})/m.exec(val);
var before = m === null ? 0 : +m[1]+1;
/* notice the Array returned by match can be immediately accessed then
   cast to a number with + in front */

match
null
时,您希望
之前的
是什么?您的意思是
var match=(/^[\s\s]*(?:^.\r?\n)\s*(\d+(![\s\s]*(\r?\n){2}/)。exec(val)match
null
时,code>m.exec将无法工作,因为它尚未定义。您希望
match
null
之前是什么样子?您的意思是
var match=(/^[\s\s]*(?:^ | \r?\n)\s*(\d+(![\s\s]*(\r?\n){2}/).exec(val)
m.exec无法工作,因为它尚未定义。我不知道您可以在Javascript中使用这些条件?您在谈论哪些条件?三元运算符(<代码>?/COD>)是JavaScript的标准部分。条件<代码>:/Cux>运算符存在于许多C族/ C语言(java、C++、C++、Javascript、C++等)中。@ PurAG酷,我仍然在学习JavaScript,所以这对我来说是新的。我不知道你能用三元运算符。感谢您的知识,我不知道您可以在Javascript中使用这些条件?您在谈论哪些条件?三元运算符(<代码>?/COD>)是JavaScript的标准部分。条件<代码>:/Cux>运算符存在于许多C族/ C语言(java、C++、C++、Javascript、C++等)中。@ PurAG酷,我仍然在学习JavaScript,所以这对我来说是新的。我不知道你能用三元运算符。谢谢你的知识,哦,巫师,这些是什么奥术符文?哦,巫师,这些是什么奥术符文?