私はVimでバッチ処理したいファイルセットの名前と一致する正規表現を定式化しようとしていますが、\ | (正規表現OR)予想通り...Vim Regex OR Windowsのファイル名パターン
具体的には、私は現在のディレクトリに以下のファイルで構成された引数リストを作成したいと考え、次のように
f0148.e, f0149.e, f0150.e ... f0159.e (i.e., 12 files total)
私は入力されたvimのコマンドが行く:
:arg f01\(\(4[89]\)\|\(5[0-9]\)\).e
Vimが目立った結果せずにこのコマンドを完了 - 何のメッセージとからの出力はありません:引数が変わらない(ファイル名の希望リストを生成しません)。
私は正規表現を分割した場合: :arg f01\(\(4[89]\)\).e
(注:上記の完全な表現のように、ここで括弧を残す)
...と...
:arg f01\(\(5[0-9]\)\).e
...その後:args
はf0148.e f0149.e
を生成(所望の場合)それぞれ、f0150.e ... f0159.e
である。
また、上記のファイル名のリストをテキストファイルに入力し、上記の正規表現を検索パターン(つまり/f01\(\(4[89]\)\|\(5[0-9]\)\).e
)として使用すると、まったく同じように動作します。
したがって、私は代替番号(\|)
が何らかの原因で表現が失敗すると判断しました。 Windows 7のVimを使用していることに注意してください。これは関連しています(バックスラッシュとパイプの両方がWindowsのコマンドプロンプトで有効なシンボルなので)。
:arg f014[89].e
:argadd f015[0-9].e
...しかし、私は実際に上記の正規表現の仕事を作る方法を把握したいと思います:
迅速な回避策が使用することです。
ありがとうございました!
[Stack Exchangeサイトの抜粋コードの掲載方法](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks)をお読みください。要約すると:CTRL-Kをハイライトして押してください。 – Benoit
それを指摘してくれてありがとう - そしてすぐに、あまりにも! – Mesagoma