2012-04-13 9 views
0

私は、テキストファイルに私のメモ帳内のビットを再フォーマットする必要が++と私は、この種のテキストを持っている:正規表現(regex)

これは、いくつかの例のテキストです。これはいくつかの例文です。これはいくつかの例文です。
- これはテキスト例です。
- これはテキストの例です。
- これはテキスト例です。
- これはテキスト例です。 「 - 」の後にスペースでのテキスト1を先行 - 「」

ですから、テキストの上で見ることができるようにそこには2つのタイプがあり、それのないものは、私はsapceなしだけのものを見つけて、それを追加する必要があります「 - 」の間にあると「テキスト」

私は

の下にコードの一部を実行した場合 - [-Zaは-Z0-9]

それはその、右のそれの後にダッシュと最初の文字を見つけました私がテキストを置き換えたときに、この最初の文字が常に異なっているように有用ではありません。私はこれを見つけて " - "だけを選択し、より良い方法がない限り " - "で置き換える必要があります。デモンストレーションの目的のために

答えて

1

Find what: -([A-Za-z0-9])(.+) 
Replace with: - \1\2 

括弧は、キャプチャグループを表します。 行に置き換える場合は、バックスラッシュとグループ番号を使用して追加します。

あなたが本当に欲しいのは、-([^\s])(ダッシュの直後に空白がないところにマッチする)のようなNOTグループです。

+0

ありがとう、それは完璧に動作します! –

1

-([^ ]) 

を検索すると

- \1 

[^ ]で置き換えるには否定文字クラスであり、スペース以外のすべてを一致します。この文字は、パターンの周囲に角括弧()があるため、\1に格納されています。

+0

この方法も素晴らしいです。ありがとうございます:))、皆さんは素晴らしいです! –