1

我有 Twitter 列表网址,比如https://twitter.com/{list-owner-screen-name}/{list-slug}

list-owner-screen-name获取和list-slug从该网址获取的最佳方式是什么?

我显然可以使用正则表达式来解析它,但我不确定这里的有效正则表达式是什么(一般来说这是一种临时解决方案)。我也怀疑有更好的方法来做到这一点(也许某种 api/lib 可以帮助我)。

这种解析/转换将发生在哪里并不重要。我可以在服务器端 (C#) 或客户端 (JavaScript) 上执行此操作

谢谢。

4

2 回答 2

0

如果您始终拥有该格式的 URL,为什么还要使用 RegEx?您可以将最后一部分作为子字符串获取,然后将其拆分并获取每个部分(这是使用 C#):

var userAndListName = "https://twitter.com/{list-owner-screen-name}/{list-slug}"
                         .Substring(20)
                         .Split('/');

var user = userAndListName.First();
var listName = userAndListName.Last();
于 2013-07-09T09:07:00.220 回答
0

Twitter 用户名具有以下格式[a-zA-Z0-9_]{1,15},因此您可以在 JavaScript 中执行以下操作:

var url = 'https://twitter.com/StackExchange/stack-overflow-employees';
if( ! /\/([a-z0-9_]{1,15})\/(.+)$/i.exec( url ) ){
    throw new Error('Invalid list URL');
}
var userName = RegExp.$1, // = 'StackExchange'
    listSlug = RegExp.$2; // = 'stack-overflow-employees'
于 2013-07-09T08:58:50.270 回答