javascript - 我将使用什么正则表达式来获取此链接的某个部分?
问题描述
https://www.twitch.tv/averagepothead/clip/TiredRoughElkSquadGoals
我想使用正则表达式专门抓取 /clip/ 之后的所有内容,也就是表示剪辑“id”的五个随机词。我一直在这里查找其他示例,但不幸的是,当我基于此编写自己的表达式时,我并没有完全正确……如果有人能够指出我正确的方向,那将是惊人的。谢谢!
解决方案
正则表达式?可以说是错误的工作工具
const [dontcare, words] = url.split('clip/');
为了说明我的意思,这是一个快速而肮脏的正则表达式版本:
const match = url.match(/[a-zA-Z0-9\/\.:]+clip\/(\w+)/);
const words = match && match[1];
对于这样的基本任务,该正则表达式非常粗糙。你可以让它更短:
/.*clip\/(\w+)/
以使它比现在更慢为代价。正则表达式非常适合不能简单地表示为快速字符串操作的东西,但是对于这样的事情来说,它们比它们的价值要麻烦得多。
推荐阅读
- javascript - 预加载图像 JavaScript
- reactjs - npx create-react-app my-app 在 mac 上不起作用:堆栈错误:缺少脚本:开始
- java - 在 Java 中使用递归解决 leetcode 上的回文问题
- java - 无法在 Windows 上触发提交 jar
- cryptography - 环签名实现起来复杂吗?以后添加它们会导致大规模重写代码吗?
- karate - 在 karate-config.js 中读取 gradle 命令行参数的问题
- julia - 如何通过 Julia 在类似 awk 的方法中对目录中的一些文件长度求和?
- javascript - 将预先格式化的文本更改为 javascript 对象
- java - Child[] 不能传递给接受 Parent[] 的方法。为什么?
- php - 如何分解/分组php方法