vimメモ:zero-width positive|negative look-ahead|behind [Perl] [misc]

| コメント(2) | トラックバック(0)

コード例は上がperl、下がvimコマンド

zero-width positive look-ahead: "abcdabcabcde" の中で 後ろに"cd"が付く"ab"だけを"ZZ"に変更したい。 ("ZZcdabcZZcde")

s/ab(?=cd)/ZZ/g;
:s/ab\(cd\)\@=/ZZ/g

zero-width negative look-ahead: "abcdabcabcde" の中で後ろに"cd"が付かない"ab"だけを"ZZ"に変更したい。("abcdZZcabcde")

s/ab(?!cd)/ZZ/g;
:s/ab\(cd\)\@!/ZZ/g

zero-width positive look-behind: "abc123ab123" の中で "abc"に続く "123" を "999" に変更したい。 ("abc999ab123")

s/(?<=abc)123/999/g;
:s/\(abc\)\@<=123/999/g;

zero-width negative look-behind: "std::"が付いてない"cout" を "std::cout" に変更したい。

s/(?<!std::)cout/std::cout/g;
:s/\(std::\)\@<!cout/std::cout/g;

最後のだけやけに具体的なのはそれがやりたくて調べてたからです。

後、別に不便してるわけじゃないけど、vimの正規表現ってnon-capture grouping ってできないのかなぁ..

トラックバック(0)

トラックバックURL: http://floralcompany.jp/mt/mt-tb.cgi/231

コメント(2)

> 後、別に不便してるわけじゃないけど、vimの正規表現ってnon-capture grouping ってできないのかなぁ..

たぶん
:help /\%(
ですね。

コメントする

AUTHOR

  • turugina (虎王 剱奈)
  • E-mail: turugina {at} floralcompany.jp
  • pixiv
  • ニジエ

2014年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10

- 警 告 -

本サイトにはいわゆる「18禁画像」(イラスト)へのリンクが存在します。 未成年の方や、その手の画像に不快感を覚える方は、 該当記事(「えちぃの」及び「ちょっとえちぃの」カテゴリ) をご覧にならないようお願いいたします。

上記を理解した上で非表示のブログパーツを表示する
あわせて読みたいブログパーツ
ついった
drawr/pixiv/twitpic