Javascript js regex在匹配后获取字符

Javascript js regex在匹配后获取字符,javascript,regex,Javascript,Regex,我得到的代码如下: let first = "filename=awesome;blabla"; let second = first.match("/filename=(.*)/"); console.log(second); 我想在秒字符串中获得令人敬畏的 所以我的正则表达式并不完全正确,因为它让我感觉很棒;布拉布拉 如何在第二个字符串中仅获取“awesome”?首先,您将以字符串形式传递正则表达式,因此您应该删除引号: let second = first.match(/filena

我得到的代码如下:

let first = "filename=awesome;blabla";

let second = first.match("/filename=(.*)/");

console.log(second);
我想在字符串中获得令人敬畏的

所以我的正则表达式并不完全正确,因为它让我感觉很棒;布拉布拉


如何在第二个字符串中仅获取“awesome”?

首先,您将以字符串形式传递正则表达式,因此您应该删除引号:

let second = first.match(/filename=(.*)/);
此外,根据结果是一个数组,其中第一个元素是完全匹配的,其余元素是其相关的捕获组。因此,您的组将位于第二个元素中:

console.log(second[1]);
您还必须修改正则表达式,以便只获取“;”之前的字符:

let first = "filename=awesome;blabla";

let second = first.match(/filename=([^;]*);/);

console.log(second[1]);

请尝试以下正则表达式:

first.match(/filename=([^;]+)/);
您可以使用以下选项:

const reg2 = /filename=(.*)/;

const url = 'filename=awesome';
const id = url.match(reg2)[1];

console.log(id);

删除引号
,您正在尝试匹配正则表达式字符串,请尝试
let[,second]=first.match(/filename=(.*)/);
非常感谢。我怎么会错过这个?您能再帮我一件事吗?我将更新这个问题。您希望正则表达式是
/filename=(.*);/
如果您只想捕获分号
/filename=(.+?);/
应该执行此操作您可以看一看吗?我更新了问题。@NikaKurashvili,我知道了,我刚刚修改了我的答案;)不幸的是,OP更新的问题和答案不再有效。