我将使用什么正则表达式来获取此链接的特定部分?

时间:2018-11-30 17:58:54

标签: javascript

https://www.twitch.tv/averagepothead/clip/TiredRoughElkSquadGoals

我想使用一个正则表达式专门捕获/ clip /之后的所有内容,也就是表示剪辑“ id”的五个随机词。我一直在这里查找其他示例,但是不幸的是,当我基于该示例编写自己的表达式时,我并没有完全正确……如果有人能够指出正确的方向,那将是惊人的。谢谢!

1 个答案:

答案 0 :(得分:1)

正则表达式?可以说是错误的工作工具

const [dontcare, words] = url.split('clip/');

为了说明我的意思,这里是一个快速脏乱的正则表达式版本:

const match = url.match(/[a-zA-Z0-9\/\.:]+clip\/(\w+)/);
const words = match && match[1];

该正则表达式对于这样的基本任务非常讨厌。您可以将其缩短:

/.*clip\/(\w+)/

以使其变得比现在更慢的代价为代价。正则表达式非常适合不能简单地表示为快速字符串操作的东西,但是麻烦之多,而不是像这样的东西值得的。