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=未提供某些描述,那么只有描述是可选的吗?