如何使用JavaScript正则表达式从Tweet中提取URL?
假设我将tweet作为字符串存储在JS变量中 如何使用JavaScript正则表达式从tweet中提取URL 这应该比从字符串中提取URL容易得多,因为: 我将假设任何以http或www开头并以空格(或tweet结尾)结尾的内容都是URL如何使用JavaScript正则表达式从Tweet中提取URL?,javascript,regex,twitter,Javascript,Regex,Twitter,假设我将tweet作为字符串存储在JS变量中 如何使用JavaScript正则表达式从tweet中提取URL 这应该比从字符串中提取URL容易得多,因为: 我将假设任何以http或www开头并以空格(或tweet结尾)结尾的内容都是URL 这将检查两个或三个字母的TLD和子域帐户。这里是我用来从Twitter状态中提取链接的正则表达式之一 链接匹配模式 (?:[^=!:'“/”)(?:https?://www\)[-\w]+(?:\.-\w]+)*(?::\d+)(?:/(?:(?:[-\w\+
这将检查两个或三个字母的TLD和子域帐户。这里是我用来从Twitter状态中提取链接的正则表达式之一 链接匹配模式
(?:[^=!:'“/”)(?:https?://www\)[-\w]+(?:\.-\w]+)*(?::\d+)(?:/(?:(?:[-\w\+%-](?:[,.;@:[^\s$])+)*(?:\?:\?[\w\+%&.-)+)*(?:::?::[\w\+%&.-+)+)(?:::\w\\\\\\\\\\\+-]。。。:[-](?:)((?::)|\你只需要一个与URL匹配的JS正则表达式。有很多关于哪个答案的问题。我环顾四周,但没有看到任何好的答案。例如,这些不起作用:我试图检查的字符串是一条Twitter推文。因此,stringToCheck类似于:“查看真棒”或“www.something.com真棒!”!“stringToCheck.match(/\b(([\w-]+://?| www[.])[^\s()]+(?:([\w\d]+)|([^[:punct:][\s]|/))/);//如果stringToCheck是URL,则返回true
var stringToCheck = "http://www.something";
stringToCheck.match(/^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$/); // returns true if stringToCheck is a URL
"entities":{"urls":[{"expanded_url":null,"indices":[27,53],"url":"http:\/\/tinyurl.com\/38wp7nt"}],"hashtags":[],"user_mentions":[]}