gpt4 book ai didi

javascript - 在使用正则表达式匹配之前检查内容

转载 作者:行者123 更新时间:2023-11-30 18:34:48 26 4
gpt4 key购买 nike

我正在使用 Facebook API 从 FB 页面注释获取输出。在某些笔记中有图像,而在其他笔记中则没有。如果图像的 src 存在,我想提取它。

我正在使用这个正则表达式并且它工作正常,但问题是如果笔记不包含图像则所有失败。

json.data[i].message.match(/src=(.+?[\.jpg|\.gif|\.png]")/)[1]

我可以使用某种控制结构(如果有的话)在使用正则表达式之前检查笔记是否包含图像吗?

如果笔记不包含图像,我会收到此错误:

Result of expression 'json.data[i].message.match(/src=(.+?[\\.jpg|\\.gif|\\.png]\")/)' [null] is not an object.

我正在使用 Javascript 和 Appcelerator。

最佳答案

Can I use some kind of a control structure (if else) to check if a note contains an image before using the regex?

对控制结构是的,但是你不需要在正则表达式之前做,正则表达式告诉你它是否成功。将您的陈述分为两部分:

var result = json.data[i].message.match(/src=(.+?[\.jpg|\.gif|\.png]")/);
if (result) {
path = result[1];
}

您遇到的问题是 match当没有匹配项时返回 null,但随后您试图通过对其应用 [1] 将其视为对象——这会导致错误。通过获取结果并确保它不是假的(如上所述),如果结果不是 null,则您只使用 [1]

关于javascript - 在使用正则表达式匹配之前检查内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8559334/

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