我正在Discordapp.com的node.js中制作一个机器人,该机器人将从Steam配置文件的xml中提取信息。它从用户消息中获取配置文件链接。

我很难找到一种方法,让我的机器人从消息中拉出链接,因为它们不一致。

消息可能看起来像:

http://steamcommunity.com/profiles/76562119803123205611 look at that guys


要么

Take a look at this www.steamcommunity.com/id/someusername/


要么

look at this steamcommunity.com/profiles/766119803232061 looks cool right?


唯一一致的是“ http://steamcommunity.com/”,其他所有内容都不相同。我如何从每个消息中仅提取整个链接,而别无其他,可以得到一些帮助吗?

最佳答案

这是用于正则表达式的好地方。这是将与任何带有/profiles/,后跟数字和/id/和字符的Steamcommunity.com URL匹配的URL。

var test = "www.steamcommunity.com/id/someusername/";
var regexp = new RegExp("(steamcommunity.com)(/id/[a-z]+|(/profiles/(\d)+))", "i");
var out = test.match(regexp)[0];

07-24 22:03