2012-10-31 14 views
15

カンマ区切りの名前とコンマ区切りのアカウント番号を持つファイルがあります。だから、名前は常に "ダウ、ジョン"のようなものになり、数字は ",19862"のようになります。 Notepad ++のRegex Find関数を使って、数字の間の '、'をすべて '|'に変更したいと思います。メモ帳++ Regexを使用して見つかったテキストの一部のみを検索して置換する

基本的に回す:

12345|09876 
13568|08642 

12345,09876 
13568,08642 

を私は[0-9],カンマを見つける使用してきたが、私はそれを正しくの最後の数字を残して取得することはできませんをカンマ()に置き換えてください。

アイデア?この正規表現

(\d),(\d) 

$1|$2 

OR

\1|\2 

答えて

18

を検索し、([0-9]),を検索し、\1|に置き換えることができます。それは動作しますか?

+0

ああ、これは、それを行うようです、ありがとう!私は '[0-9]'を試していて、 '\ 1 | 'で置き換えていましたが、うまくいきませんでした。再度、感謝します! – JToland

+0

なぜ括弧が必要なのですか? – Patrick

+1

@Patrick正規表現では、括弧は捕捉グループを作成して、置換えに使用できるようにパーサーがグループ内のパーツをキャプチャするようにパーサに指示します。 –

6

使用。奇妙なことに、これはすべてを置換するだけで動作しますが、置換する場合は使用しません。代わりに、(\d),を使用し、$1|の代わりに

+0

'\ d +'を使用しませんか? – Blender

+0

@Blenderは同じものを同じものにします – Anirudha

+0

これは実際には$ 1 | $ 2をテキストにインラインで置き換えました。 – JToland

2

(?<=\d),でそれを置き換えるには動作するはず

+0

私はNotepad ++が 'Lookahead'と' Lookbehind'アサーションをサポートしているとは思いません。 – Nick

+0

@Nick実際にはあります。私はNP ++を持っていますが、これは動作します(マッチします)が、すべてを置き換えるだけであれば置き換えられます。大文字と小文字を区別して置換しようとすると、変更されません。 –

+0

私はあなたを信じています、私はそれを聞いただけです。以前はNP ++を正規表現に使っていませんでした。 – Nick

関連する問題