取り除かなければならない ID を含むテキスト ファイルをサード パートから受け取りました。このファイルには、必要のない他の多くのデータも含まれており、区切り形式または固定幅形式ではありません。Notepad++ と正規表現を使用して、ID 番号以外のすべてを削除する方法があるかどうか疑問に思っていましたか? ID 番号の形式は、8 桁の長さで、0 で始まる必要があります。
例:00000213、00023234、02456343
保持したい数値は、次のように一致させることができます。
(?<!\d)0\d{7}(?!\d)
ルックアラウンドでは、正確に 8 桁であり、それ以上ではないことを確認します。
これらの数字のいずれかに到達するまで、他のすべての文字を単純に一致させ、他のすべてを削除することができます。さらに、これらの数字の最後の文字から文字列の末尾までの文字を削除する場合を考慮する必要があります。
.*?((?<!\d)0\d{7}(?!\d)|\Z)
$1\t
そして、削除したくない番号とその後のタブを書き戻すために に置き換えます。これにより、他のすべてが削除された後でもそれらを区別できます (後者の提案については Sniffer に感謝します)。?
できるだけマッチしないように、先頭の が重要です (後で別の番号が来る場合は、最初の番号を渡さないでください) 。dot matches newline
オプションを必ず有効にしてください。また、Notepad++ をバージョン 6 に更新してください。