0
Java文字列内のテキストを置き換えたいのですが、$と&で定義されたセクション内にテキストがある場合は置換しません。 例:文字列 "$ foo & bar foo"を置き換えるテキストfooは "$ foo & bar $ foo &"となります。 代替テキストは、$と&を使用してエスケープする必要がありますが、エスケープが既に適用されている場合は使用しないでください。現在、私は正規表現([^\\$]|^)text([^&]|$)
を使用していますが、それはかなりうまくいきますが、シンボルの1つだけが見つかった場合、正規表現は一致しません。 例:テキスト "bar $ foo"の正規表現([^\\$]|^)foo([^&]|$)
は一致しませんが、の両方がの場合にのみ一致します。文字列内のテキストを例外と置き換えます。
は$と&の間に複数の単語があるだろうか? – TheLostMind
@TheLostMindいいえ、ただ一つ – greywolf82
あなたがやっていることのいくつかの小さな、完全かつ実行可能な例を追加してください。 –