3

連続する行で同様の値を持つ2つの文字列を見つけるために、どの正規表現パターンを使用する必要がありますか

たとえば、次のようなものがある場合:

(注:次の値はすでに前面にインデントされています)

    end
    end

viエディターを使用してこれを検索するにはどうすればよいですか?

編集

I would like it to match "    end" and "    end" or "  end" and "  end"
4

2 に答える 2

2

非常に簡単です:

/pattern\npattern/

patternあなたが見つけたいものはどこにありますか。あなたの質問は曖昧すぎて、より有用な答えは得られません。

于 2012-07-18T05:08:22.930 に答える
1

値がインデントされていると述べたので...このパターンを使用して、この問題を解決できます。

/end\n\s*end

空白の\s略で、タブまたはスペースのいずれかになります。つまり、前の文字(この*場合は空白)が存在しないか、無限に存在する可能性があります。2つのスペースを一致させたい場合は、/end\n endまたはを使用できます/end\n\s\send。4つを一致させたい場合は、同様にそれらをすべて入力するか、/end\n\s\{4}end4つの空白文字(スペースまたはタブ)のみを一致させることができます。

あなたが本当にやりたいのは、同じ線を一致させることだと思います。だからあなたはそれ/\(^.*$\)\n\1を達成するために行うことができます。特定の数の同一の行が必要な場合は、実行できます(この例では、15を使用しますが、任意の数に変更するか、任意の一致に/\(^.*$\)\(\n\1\)\{15}切り替えることができます。\{15}*

于 2012-07-18T05:29:29.803 に答える