javascript中的正则表达式如何在两个;特别";角色?

javascript中的正则表达式如何在两个;特别";角色?,javascript,regex,Javascript,Regex,我有下面一行文本,我需要在$$中查找内容,并提取id=和description=的值 你能给我指出正确的方向吗?我试过几次都没有成功(实际上我试过这一次) 一种模式,如 \$\$(?:id=(\w+))?(?:&description=(\w+))? 应该适用于此。一种模式,例如 \$\$(?:id=(\w+))?(?:&description=(\w+))? 应该可以做到这一点。您使用一个捕获组(.*)在$$和$$之间进行捕获 如果id应该存在并且描述是可选的,那么可以使用

我有下面一行文本,我需要在
$$
中查找内容,并提取
id=
description=
的值

你能给我指出正确的方向吗?我试过几次都没有成功(实际上我试过这一次)

一种模式,如

\$\$(?:id=(\w+))?(?:&description=(\w+))?
应该适用于此。

一种模式,例如

\$\$(?:id=(\w+))?(?:&description=(\w+))?

应该可以做到这一点。

您使用一个捕获组
(.*)
$$
$$
之间进行捕获

如果
id
应该存在并且描述是可选的,那么可以使用3个捕获组,其中匹配描述的部分是可选的:

^\$\$id=(\w+)(?:&description=(\w+))?\$\$(.*)

const regex=/^\$\$id=(\w+)(:&description=(\w+))\$\$(.*)/;
常量字符串=[
“$$id=uniq\u id&description=some\u description$$后面的任何文本”,
“$$id=uniq\u id$$后面的任何文本”
];
strings.forEach((s)=>{
console.log(s.match(regex));

});
您使用一个捕获组
(.*?
$$
$$
之间进行捕获

如果
id
应该存在并且描述是可选的,那么可以使用3个捕获组,其中匹配描述的部分是可选的:

^\$\$id=(\w+)(?:&description=(\w+))?\$\$(.*)

const regex=/^\$\$id=(\w+)(:&description=(\w+))\$\$(.*)/;
常量字符串=[
“$$id=uniq\u id&description=some\u description$$后面的任何文本”,
“$$id=uniq\u id$$后面的任何文本”
];
strings.forEach((s)=>{
console.log(s.match(regex));

});我对我的问题进行了编辑。。。我还需要最后$$右侧的内容对不起,我对我的问题进行了编辑。。。我还需要上一个$$右侧的内容,我对我的问题进行了编辑。。。我还需要最后$$右侧的内容对不起,我对我的问题进行了编辑。。。我还需要最后$$右侧的内容对不起,我对我的问题进行了编辑。。。我还需要在同一行的最后一个$$@Radex右边的内容,如
^\$\$id=(\w+)&description=(\w+)\$\$(.*)
看这里,我还有一个案例,我只需要在有单个id的情况下返回:例如,如果&description=未提供某些描述,那么应该只提供描述吗?对不起,我对我的问题进行了编辑。。。我还需要在同一行的最后一个$$@Radex右边的内容,如
^\$\$id=(\w+)&description=(\w+)\$\$(.*)
看这里,我还有一个案例,我只需要在有单个id的情况下返回:例如,如果&description=未提供某些描述,那么只有描述是可选的吗?