首页 > 解决方案 > 使用带有 javascript 的正则表达式并获取变量

问题描述

我有一段时间没有使用正则表达式了,我正在尝试在 Javascript 中使用它

我有一个像 /something/a/a123 这样的 url 字符串,我只想匹配以 /something 开头的字符串,并且能够将 a 和 a123 作为变量获取,而无需将字符串拆分为数组。

那可能吗?

const r = /something/[a-z][A-Z]*/[a-z0-9][a-z0-0]*/
const s = r.exec('/something/a/a123');

标签: javascriptregex

解决方案


利用

const r = /something\/([a-z]+)\/([a-z0-9]+)/i
const [_, a, b] = r.exec('/something/') || [,'','']
console.log(a, b)

转义斜线并使用圆括号来捕获那些必要的正则表达式部分。


推荐阅读