2016-07-22 14 views
-1

内の行を交換し、私はこのようなものを変換したいと思います。どのような正規表現を使用する?どのようにこの行をまとめるのですか?メモ帳++

答えて

2

あなたは

^(?:---+\R\s*)*(\w.*)\R---+\R(?:\h*\R)*(\w.*)\R---+$ 

のような正規表現を使用し、$1:$2と交換することができます。

^(\w.*)がcharが改行以外の文字、改行が3で、続い\R---+\Rマッチ0+と続くワードを捕捉グループ1で、最初の非空行の前に、オプションの区切り線を、ライン開始と一致(?:---+\R\s*)*マッチ+ハイフンと改行の場合、(?:\h*\R)*はn個の空白行に一致し、(\w.*)(上記を参照)と\R---+$は改行に一致し、行末には3+ハイフンに一致します。

enter image description here

+0

なぜ、 '--- +'の代わりに ' - {3、}'? –

+0

私は '--- +'より読みやすいサブパターンを見つけました。実際には、OPの ' - {n}'に固定されていれば、正確なハイフン数で置き換えることができます。 –

0

何を検索しますと交換\W*(\w+.*)[\r\n]+\-{5,}\s+(\w+.*[\r\n]+)\-{5,}\W*
$1:$2

は、それが常に5つの以上のダッシュだと仮定。

2番目の単語の後の改行は、すでに2番目の取得グルー​​プにあります。