1
- *pattern.txt* For Vim バージョン 7.3. Last change: 2011 Nov 26
1
+ *pattern.txt* For Vim バージョン 7.3. Last change: 2012 May 18
2
2
3
3
4
4
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -323,7 +323,7 @@ Note: 10本の指を使ってタイプしているなら、このコマンドを
323
323
*/concat*
324
324
3. 連接は、連続した 1 つ以上のピースからなります。ピースがすべて、順番どおり
325
325
マッチした場合にマッチします。たとえば、"f[0-9]b" は最初に "f" にマッチし、
326
- 次に数字 、そして "b" にマッチします。
326
+ 次に 1 桁の数字 、そして "b" にマッチします。
327
327
328
328
concat ::= piece
329
329
or piece piece
@@ -609,8 +609,9 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
609
609
} にバックスラッシュを前置するかどうかは任意です: \{n,m\}
610
610
611
611
*/\@=*
612
- \@= 幅ゼロの肯定先読み。{Vi にはない機能です}
613
- Perl の "(?=pattern)" と同じです。
612
+ \@= 幅ゼロの肯定先読み。先行するアトムに幅ゼロでマッチします。
613
+ {Vi にはない機能です}
614
+ Perl の "(?=pattern)" と似ています。
614
615
Example マッチするもの ~
615
616
foo\(bar\)\@= "foobar" の "foo"
616
617
foo\(bar\)\@=foo なにもマッチしない
@@ -627,17 +628,18 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
627
628
628
629
629
630
*/\@!*
630
- \@! 幅ゼロの否定先読み。 | /zero-width | {Vi にはない機能です}
631
- Perl の "(?!pattern)" と同じです。
631
+ \@! 幅ゼロの否定先読み。 先行するアトムが現在の位置でマッチしない場合に、
632
+ 幅ゼロでマッチします。| /zero-width | {Vi にはない機能です}
633
+ Perl の "(?!pattern)" と似ています。
632
634
Example マッチするもの ~
633
635
foo\(bar\)\@! 後ろに "bar" のない "foo"
634
- a.\{-} p\@! 後ろに "p" のない "a"、"ap"、"aap "、"app " など
635
- if \(\(then\)\@!.\)*$ 後ろに "then" のない "if"
636
+ a.\{-} p\@! 後ろに "p" のない "a"、"ap"、"app "、"appp " など
637
+ if \(\(then\)\@!.\)*$ 後ろに "then" のない "if "
636
638
637
639
"\@!" を使うには注意が必要です。パターンにマッチしない場所、というのは
638
640
そこらじゅうにあるからです。"a.*p\@!" は "a" から行末までマッチしま
639
641
す。なぜなら、".*" が全ての文字にマッチし、"p" は行末にマッチしないか
640
- らです。"a.\{-} p\@!" は後ろに "p" のない文字列、"a"、"ap"、"aap "、など
642
+ らです。"a.\{-} p\@!" は後ろに "p" のない文字列、"a"、"ap"、"app "、など
641
643
にマッチします。なぜなら、"." が "p" にもマッチし、"p\@!" がその後ろに
642
644
マッチする(つまり "p" がマッチしない) からです。
643
645
@@ -655,8 +657,10 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
655
657
て "foo" の直前でマッチが開始したことにされます。
656
658
657
659
*/\@<=*
658
- \@<= 幅ゼロの肯定後読み。| /zero-width | {Vi にはない機能です}
659
- Perl の "(?<=pattern)" と同じですが、Vimでは可変長パターンも使えます。
660
+ \@<= 幅ゼロの肯定後読み。先行するアトムが、この後に続くパターンの直前にマッ
661
+ チする場合に、幅ゼロでマッチします。| /zero-width |
662
+ {Vi にはない機能です}
663
+ Perl の "(?<=pattern)" と似ていますが、Vimでは可変長パターンも使えます。
660
664
Example マッチするもの ~
661
665
\(an\_s\+\)\@<=file "an" と空白文字 (改行含む) の後の "file"
662
666
@@ -671,16 +675,16 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
671
675
行だけが検索されます。ほとんどの場合はこれで十分ですし、遅くなり過ぎる
672
676
こともありません。
673
677
"\@<=" や "\@<!" の後にくるパターンは最初にチェックされます。そのため、
674
- "\1" のような、 \(\) の前方参照は機能しません。そのときは次のようにしま
675
- す :
678
+ 先行するアトムの内側にある \(\) に対する "\1" のような参照は機能しませ
679
+ ん。順番を逆にした場合は機能します :
676
680
Example マッチするもの ~
677
681
\1\@<=,\([a-z]\+\) "abc,abc" の ",abc"
678
682
679
683
*/\@<!*
680
- \@<! 幅ゼロの否定後読み。マッチの現在位置の直前の文字列が、アトムにマッチし
681
- ない場合にマッチします 。現在行と 1 つ前の行だけがチェックされます。
682
- | /zero-width | {Vi にはない機能です}
683
- Perl の "(?<!pattern)" と同じですが 、Vimでは可変長パターンも使えます。
684
+ \@<! 幅ゼロの否定後読み。先行するアトムが、この後に続くパターンの直前にマッ
685
+ チしない場合に、幅ゼロでマッチします 。現在行と 1 つ前の行だけがチェッ
686
+ クされます。 | /zero-width | {Vi にはない機能です}
687
+ Perl の "(?<!pattern)" と似ていますが 、Vimでは可変長パターンも使えます。
684
688
対象のアトムは、続くアトムの直前までがマッチの範囲になるため、最後が
685
689
".*" で終わっているアトムも機能します。
686
690
警告: これは遅くなることがあります (マッチするかどうかを多くの場所で
@@ -691,7 +695,7 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
691
695
692
696
*/\@>*
693
697
\@> 強欲な量指定子。 {Vi にはない機能です}
694
- Perlの "(?>pattern)" と同じです 。
698
+ Perlの "(?>pattern)" と似ています 。
695
699
Example マッチするもの ~
696
700
\(a*\)\@>a なにもマッチしない ("a*" が全ての "a" を取るので、その
697
701
後に "a" があることはありません)
@@ -718,23 +722,23 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
718
722
^beep( (おそらく) C 言語の関数 "beep" の開始。
719
723
720
724
*/\^*
721
- \^ リテラル文字 '^' にマッチします。パターンのどの場所でも使えます。
725
+ \^ リテラル文字の '^' にマッチします。パターンのどの場所でも使えます。
722
726
723
727
*/\_^*
724
- \_^ 行頭にマッチします。| /zero-width | パターンのどの場所でも使えます。
728
+ \_^ 行頭にマッチします。| /zero-width | パターンのどの場所でも使えます。
725
729
Example マッチするもの ~
726
730
\_s*\_^foo 空白文字や空行の直後の、行頭の "foo"
727
731
728
732
*/$*
729
733
$ パターンの末尾、または "\|"、"\)"、"\n" ('magic' on時) の前にある場
730
734
合、行末 (<EOL> ) にマッチします。他の場所にある場合は、リテラル文字の
731
- '$' にマッチします。 | /zero-width |
735
+ '$' にマッチします。| /zero-width |
732
736
733
737
*/\$*
734
738
\$ リテラル文字の '$' にマッチします。パターンのどの場所でも使えます。
735
739
736
740
*/\_$*
737
- \_$ 行末にマッチします。| /zero-width | パターンのどの場所でも使えます。
741
+ \_$ 行末にマッチします。| /zero-width | パターンのどの場所でも使えます。
738
742
Note: "a\_$b" はどこにもマッチしません。"b" は行末とはマッチしないから
739
743
です。代わりに、"a\nb" を使ってください | /\n | 。
740
744
Example マッチするもの ~
@@ -1035,8 +1039,8 @@ x 特別な意味のない文字は、その文字自身とマッチします
1035
1039
- リテラル文字の ']'、'^'、'-'、'\' をコレクションに含めるには、バック
1036
1040
スラッシュを前置して、"[xyz\]]"、"[\^xyz]"、"[xy\-z]"、"[xyz\\]" と
1037
1041
書きます。
1038
- Note: POSIX ではこのようなバックスラッシュの使い方はサポートされてい
1039
- ません。
1042
+ ( Note: POSIX ではこのようなバックスラッシュの使い方はサポートされて
1043
+ いません。)
1040
1044
']' は、コレクションの先頭、または '^' の直後にそのまま書いて、
1041
1045
"[]xyz]" や "[^]xyz]" とすることができます。
1042
1046
{Vi にはない機能です}
@@ -1169,7 +1173,7 @@ Vim と Perl の正規表現は、とても似ていて、同じ事ができま
1169
1173
----------------------------------------------------------------
1170
1174
大文字と小文字を区別しない \c (?i)
1171
1175
大文字と小文字を区別する \C (?-i)
1172
- 前方参照しないグループ \%(atom\) (?:atom)
1176
+ 後方参照しないグループ \%(atom\) (?:atom)
1173
1177
最短一致の量指定子 \{-n,m} *?, +?, ??, {}?
1174
1178
幅ゼロの肯定先読み atom\@= (?=atom)
1175
1179
幅ゼロの否定先読み atom\@! (?!atom)
0 commit comments