0

と の間のテキストを一致させる必要があります${} :

${このテキストを一致させる必要があります}

テキスト内に\$\\{(.+?)\\}いくつか配置するまで、単純な正規表現は正常に機能します}

中括弧は、一致するテキスト内でペアになっています。

正規表現を使用してこれを解決する可能性はありますか?

4

2 に答える 2

0

正規表現の末尾に a を追加し、$エスケープしないでください。ドル記号は、最後の文字または記号をチェックすることを意味します。

正規表現:\${(.+?)}$

Java フォーマット:\\${(.+?)}$

于 2013-10-20T08:49:15.620 に答える
0
\$\{((?:\{[^\{\}]*\}|[^\{\}]*)*)\}

開始ブラケットに遭遇した場合、そのペアを探し、終了ブラケットの後、通常どおりに進みます。これは、ネストされたブラケットの複数のレベルを処理できません。

ここにある主なビルディング ブロック[^\{\}]*- ブラケット以外のシーケンス。括弧で囲むことはできます\{[^\{\}]*\}が、そうでない場合もあり(?:\{[^\{\}]*\}|[^\{\}]*)ます。これらのシーケンスの任意の数が存在する可能性があるため*、最後に存在します。

Java ではサポートされていない、どのレベルのネストでも再帰的な regexが必要になる場合があります。しかし、このアイデアを慎重に拡張することで、任意の固定金額を一致させることができます。

于 2013-10-20T08:57:02.380 に答える