私はこのような中括弧と文字列にタグを挿入しています:挿入した後、その場合の{tag1}
肯定先読みと否定一緒lookeahead conditionaly
文字列は次のようになります。hello {tag1}, it's {tag2} today.
タグはいえ交差したときに、これは私が望んでいない:{tag{tag2}1}
を私は肯定先読み(?={\w+})
だけでなく、負の先読み(?!{\w+{)
と(?!}\w+})
たとえば、textarea
にはすでにhello {tag1}.
が含まれており、位置8に{tag2}
を挿入しようとすると、hello {ta{tag2}g1}.
になります。そのため、偽を返すRegexが必要です。
これらのルールを一緒にマージすることはできませんでした。たぶん私はそれをすべて間違って見ている。
共有コードを参照してください無効であると一致した場合、重複が発生
をとっているかどうかを確認するために、この正規表現を使用することができます。同じ文字列を何度も処理しないようにするには、すべてのタグを1回のパスで挿入する必要があります。ところで、これを解決するための最善の方法ではないでしょう(ほとんどの場合、 '(?![^ {})*})'はうまくいくはずです)。 –
あなたは正しいですが、挿入時に、閉じた中かっこが残っているかどうかを確認することができます。条件が満たされた場合は挿入を続け、そうでない場合は終了します。 – Bogac
コードを共有してください。正規表現関連の部分だけ? –