我有Twitter列表网址,例如https://twitter.com/{list-owner-screen-name}/{list-slug}
从该网址获取list-owner-screen-name
和list-slug
的最佳方式是什么?
我显然可以使用regexp来解析它,但我不确定这里的有效正则表达式是什么(一般来说这是一种特殊的解决方案)。我也怀疑有更好的方法可以做到这一点(也许某种api / lib可以帮助我)。
解析/转换的位置无关紧要。我可以在服务器端(C#)或客户端(JavaScript)上执行此操作
感谢。
答案 0 :(得分:1)
为什么要使用RegEx,如果您始终拥有该格式的URL?您可以将最后一部分作为子字符串,然后将其拆分并获取每个部分(这是使用C#):
var userAndListName = "https://twitter.com/{list-owner-screen-name}/{list-slug}"
.Substring(20)
.Split('/');
var user = userAndListName.First();
var listName = userAndListName.Last();
答案 1 :(得分: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'