gpt4 book ai didi

javascript - 无法访问 JS 正则表达式结果 - 无法读取 null 的属性 '1'

转载 作者:行者123 更新时间:2023-11-29 19:02:14 25 4
gpt4 key购买 nike

我有一些代码,我从页面中抓取 URL,然后使用正则表达式获取两个字符串之间的文本。当我这样做时,我得到了我想要的匹配,但我无法访问结果。

evaluated.forEach(function(element) {
console.log(element.match(/.com\/(.*?)\?fref/)[1]);
}, this);

如果我删除 [1],我会在控制台中看到如下结果:

[
'.com/jkahan?fref',
'jkahan',
index: 20,
input: 'https://www.example.com/jkahan?fref=pb&hc_location=friends_tab'
]

但是当我添加 [1] 以访问我想要的结果时,我得到:

TypeError: Cannot read property '1' of null.

最佳答案

您似乎对数组evaluated 中的所有元素都完成了此操作。我的猜测是其中一个元素不匹配并抛出错误,因为在这种情况下,match 将返回 null

最好先将match 的结果存储在一个变量中。这样,您可以在访问它的 [1] 之前检查它是否为 null:

evaluated.forEach(function(element) {
var result = element.match(/.com\/(.*?)\?fref/); // store the result of 'match' in the variable 'result'
if(result) // if there is a result (if 'result' is not 'null')
console.log(result[1]); // then you can access it's [1] element
}, this);

关于javascript - 无法访问 JS 正则表达式结果 - 无法读取 null 的属性 '1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46063295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com