1

次の行(セットリストをオンにしたvi)が与えられた場合、なぜかわかりません

10.0.6.5^IVirtual^IVmware^IHTTP, MS SQL, Windows SVC^IcpHelpdesk $

なぜ次の正規表現:

^I.*?^I 

上記の私の行の文字列「仮想」と一致しませんか?VIの検索と置換で以下の正規表現を使用しています

:%s/^I.*?^I/replace/g

これは一致を返しませんが、同じ文字列を使用すると

^I.*^I

私は得るだろう

10.0.6.5replaceIcpHelpdesk $

私が言おうとして^I.*?^Iいるのは、最初のタブ文字( )から、タブ文字( ) で次のトークンに到達するまで、^I0回以上(改行を除くドットで)一致することです。*?^I

何が欠けているのかわかりません。助けていただければ幸いです。ありがとうございました

4

1 に答える 1

1

ここでvim正規表現について話しているのですか?その場合、貪欲でない量指定子は\{-}次のとおりです。

\t.\{-}\t

それ以外の場合は、タブ文字を否定グループと一致させないことでそれを行うことができます:

\t[^\t]*\t
于 2012-07-17T20:14:24.023 に答える