ドキュメントで特定の列のデータを検索しようとしています。私は使用しようとしています:
^.{x}[data to find]
ここで、x は必要な列の数 - 1 です。
何か間違っているのか、正規表現エンジンがその構文をサポートしていないのかどうかはわかりません。役立つ場合は、Notepad ++を使用しようとしています。
2013〜2014年の更新(4〜5年後)
Notepad ++ v6.xは、PCREライブラリを介して実際の正規表現をサポートしています
「Notepad++での正規表現の使用方法(チュートリアル)」(乗算演算子)を参照してください。
元の回答(2009年2月)
最新のNotepad++5.2とその正規表現機能を確認しました。
トークンを繰り返すことができる回数を指定できる繰り返し演算子 がないことを確認しました。{min,max}
別の方法は次のとおりです。
.... [repeat '.' as many time as the number of column you want] ...[data to find]
必要はありません^
:デフォルトでは、Notepad ++正規表現は行ごとに適用され、 eol文字(または).
と一致しません\r
\n
Asmorがコメントで述べているように:
Notepad ++は、そのすべての優れた機能のために、Scintillaを使用し、限定された正規表現機能を備えたScintillaの正規表現処理を継承します。
「デフォルトで」正規表現は行ごとに適用されると言います。これは、他の方法で設定できることを意味しますが、私の知る限り(そして、お願いします、私が間違っていることを証明してください!)、複数行の正規表現を作成する方法はありません。
(私は同意します、そしてそれは大きな制限です)
Scintillaのもう1つの制限である
^
演算子は、正規表現を行の先頭に固定するため、実際には重要です。3番目の列の3に一致させたいとします。が必要^..3
で、1秒を超える任意の列..3
で一致します。3
Awk にアクセスできる場合は、この種のタスクにより適しています。
私が見つけたドキュメントから、notepad++ に {x} 機能があるようには見えません。