我在node.js为Discordapp.com制作一个机器人,它将从蒸汽配置文件的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/”其他一切都不同。我是否可以获得一些帮助,说明如何从每条消息中仅提取整个链接而不是其他内容?
答案 0 :(得分:0)
这是正则表达式的好地方。这是一个匹配任何steamcommunity.com网址的/profiles/
后跟一个数字,/id/
后跟字符。
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];