积极的前瞻和负面的lookeahead在一起有条件

时间:2017-08-21 10:45:23

标签: javascript regex

我将标签插入带有大括号的字符串中,如下所示:{tag1}

插入后的

字符串可能是:hello {tag1}, it's {tag2} today.

我想阻止标签交叉时,我不想要:{tag{tag2}1}

我希望积极向前看(?={\w+}),但也要向前看负(?!{\w+{)(?!}\w+})

例如,textarea已经包含hello {tag1}.,如果我尝试将{tag2}插入到第8位,那么我将需要一个返回false的正则表达式hello {ta{tag2}g1}.

无法将这些规则合并在一起。也许我看错了所有。

1 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式来确定是否发生了重叠

{[^{}]*{.*}[^{}]*}

如果此字符串匹配则无效 请参阅demo