【发布时间】:2014-03-01 23:55:02
【问题描述】:
好的,所以我有一个带有匹配正则表达式查询的简单变量声明。
var image = decl.val.match(/(url\(.*\))/)[1];
但我很快发现我不能这样做,因为有时没有匹配,而不是返回 undefined 或类似的错误出现:
Uncaught TypeError: Cannot read property '1' of null
我想尽可能内联地解决这个问题,因为我将不得不在我的代码中多次迭代。感谢您的帮助!
【问题讨论】:
-
“我想尽可能内联地解决这个问题,因为我将不得不在我的代码中多次迭代这个问题。” - 你熟悉一个叫做“函数”的概念…?
-
@CBroe 是的,但我想使用条件三元运算符来执行此操作......这只是一种偏好。
-
你可能得到的最短的单行是
var image = decl.val.match(…); image = image ? image[1] : ""(或者你喜欢的""的替代品。) -
True...这更多是为了我自己的信息,但我想看看是否有任何方法可以编写像 var m = decl.val.match(/url(.*) 这样的条件/) ?: 这个[1];
标签: javascript regex arrays match typeerror