我怎样才能正则表达式匹配只找到嵌套模式

时间:2018-07-11 14:01:18

标签: javascript regex

我要替换所有的%(<>)。字符串也可以是嵌套模式。

para %(test) pattern %(te%(value)st) Hello Testing

我希望将其转换为

para MATCHFOUND pattern MATCHFOUND Hello Testing

使用以下正则表达式

\%\((.*?)\)+

我得到:

**para MATCHFOUND pattern MATCHFOUND*st)* Hello Testing**

这是不正确的,因为st)未在模式中处理

任何人都可以通过适当的正则表达式来帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

这个对我有用:/\%\([\w\%\(\)]*\)/g


var string = "para %(test) pattern %(te%(value)st) Hello Testing"
var regex = /%\([\w%()]*\)/g
console.log(string.replace(regex, "MATCHFOUND"));
// "para MATCHFOUND pattern MATCHFOUND Hello Testing"