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,所以这对我来说是新的。我不知道你能用三元运算符。谢谢你的知识,哦,巫师,这些是什么奥术符文?哦,巫师,这些是什么奥术符文?