请教一个正则问题,如以下字符串该如何提取呢
去除$里面的内容但要包括[]里面的内容let str = "点击下方链接跳转123$br$$externalLink$[水之光剧场](/pages/index/index?appid=w1)$externalLink$"
期待的结果是:
let str = "点击下方链接跳转123水之光剧场"
谢谢大家
回答:
"点击下方链接跳转123$br$$externalLink$[水之光剧场](/pages/index/index?appid=w1)$externalLink$" .replace(/\$[^$]*\$/g,'')
.replace(/\[([^\]]*)\]\([^)]*\)/g,'$1')
看上去是两个规则,一个是 $$
连带中间内容都舍弃。一个是 []()
里面只要方括号中的。
回答:
str.replace(/([[($])(.*?)([\])$])/g, function(match, $1, $2, $3) { var pair = { $: "$", "[": "]", "(": ")" };
return pair[$1] !== $3 ? match : $1 === "[" ? $2 : "";
});
以上是 请教一个正则问题,如以下字符串该如何提取呢 的全部内容, 来源链接: utcz.com/p/937209.html