0

したがって、文字列内の A、B、C、D を任意の順序で検索したいのですが、C が存在しない場合でも、A、B、D などを取得したいと考えています。

より具体的には、これが私が解決しようとしている正確な問題です。次のような行を含む CSV ファイル:

Name,(W)5555555,(H)5555555,(M)5555555,(P)5555555

ただし、W、H、M、P の順序は任意です。さらに、すべての行にすべてが存在するわけではありません。したがって、次のようになります。

Name,(W)5555555,(H)5555555,(M)5555555,(P)5555555
Name,(H)5555555,(P)5555555,(W)5555555,(M)5555555
Name,(M)5555555,(H)5555555,,
Name,(P)5555555,,,

私が達成する必要があるのは、すべてのアイテムを正しい順序で配置して、正しい列の下に並べることです。したがって、完了すると、上記は次のようになります。

Name,(W)5555555,(H)5555555,(M)5555555,(P)5555555
Name,(W)5555555,(H)5555555,(M)5555555,(P)5555555
Name,,(H)5555555,(M)5555555,
Name,,,,(P)5555555

編集:私は悪いスタック オーバーフロー市民のようです。プロジェクトを完了する必要がある時期に十分な速さで回答が得られなかったため、戻ってきて投稿に正しい問題を追加するのを忘れていました. もともとやろうとしていたように、BBEdit または Sublime Text 2 で検索/置換を使用する代わりに、これを行うための python スクリプトを作成することになりました。

したがって、BBEdit または Sublime Text のいずれかで機能する、このようなことを行うメソッドが必要です。またはそのことについてはVim。今回はもっと注意深く観察して、すでにある回答に回答します。

4

2 に答える 2

0

このようなもの?

^Name,(\((?:W|H|P|M)\)\d+(?:,)?)*[,]*$

正規表現の視覚化

Debuggex でライブ編集

行ごとにすべての一致が表示されます。次に、各一致を正しい列に割り当てる必要があります。

于 2013-08-21T18:12:26.433 に答える