2015-11-09 90 views
1

我正在爲node.js爲Discordapp.com製作一個bot,它將從蒸汽配置文件的xml中提取信息。它從用戶消息中獲取配置文件鏈接。Node.js Bot拉鍊接消息

我很難試圖找出一種方式讓我的機器人從消息中拉出鏈接,因爲它們不一致。

消息可能看起來像:

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

使用正則表達式 - 請參閱http://stackoverflow.com/questions/1500260/detect-urls-in-text-with-javascript –

回答

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];