Eclipseを介して次の2行で複数のファイルを検索したいと思います。
@Length(max = L_255)
private String description;
これらを次の2つに置き換えます。
@Length(max = L_255, message="{validator.description.len}")
private String description;
正規表現を使用している場合、Eclipseではデフォルトで検索は複数行になります。
(\@Length\(max = L_255)\)([\r\n\s]+private)
「プライベート文字列の説明」を追加したいと思います。
(\@Length\(max = L_255)\)([\r\n\s]+private\s+?String\s+description\s*?;)
と取り換える:
\1, message="{validator.description.len}")\2
それはによって引き起こされるファイル検索で完全に働きます CTRL-H。
Tika の answer で述べたように、「= Conting Text」フィールドで選択した2行を直接コピーできます:それらの行はEclipseによってregexpとして変換されます。
選択したブロックの正規表現を取得する方法に関する別のヒント。検索または置換する複数の行(複数行)を含むファイルの1つを開きます。クリック Ctrl+F 「正規表現」を選択します。 [検索/置換]ウィンドウを閉じます。必要なブロックを選択して、もう一度クリックしてください Ctrl+F [検索/置換]ウィンドウを開きます。 [検索]テキストボックスに、選択ブロックと完全に一致する正規表現が表示されます。
(私はこれを発見しました、非常に長いブロックの正規表現を手動で作成した後にのみ:)
正規表現を使用する場合、CTRL + Hは2行かかります(自分で正規表現を記述する必要はなく、Eclipseが自動的に作成します)。
手動で作成した正規表現の一部として複数の行を含めるための簡単なヒント:
通常.*
を使用して、任意の文字を0回以上照合する場合は、代わりに(?:.|\r?\n)*
のようなものを使用することを検討してください。または、最後に?
を追加して、貪欲でないようにします。
説明:.
は新しい行と一致しないため、 「どちらか一方」を実行します。括弧は、パイプの前の.
またはパイプの後の改行のいずれかに一致します。 ?
の後の\r
は、WindowsまたはUnixの新しい行を許可するために、改行前の改行をオプションにします。 ?:
は、全体をキャプチャグループとして除外します(スタックオーバーフローを回避するのに役立ちます)。