Skip to content

Commit 741d91a

Browse files
committed
update pattern.jax
* fix translation of 'back reference'. (Issue #57) * refine translation of 'zero-width' items. * update the base version to 7.3.524. (Issue #56)
1 parent ab0ee09 commit 741d91a

File tree

1 file changed

+29
-25
lines changed

1 file changed

+29
-25
lines changed

doc/pattern.jax

+29-25
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*pattern.txt* For Vim バージョン 7.3. Last change: 2011 Nov 26
1+
*pattern.txt* For Vim バージョン 7.3. Last change: 2012 May 18
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -323,7 +323,7 @@ Note: 10本の指を使ってタイプしているなら、このコマンドを
323323
*/concat*
324324
3. 連接は、連続した 1 つ以上のピースからなります。ピースがすべて、順番どおり
325325
マッチした場合にマッチします。たとえば、"f[0-9]b" は最初に "f" にマッチし、
326-
次に数字、そして "b" にマッチします。
326+
次に 1 桁の数字、そして "b" にマッチします。
327327

328328
concat ::= piece
329329
or piece piece
@@ -609,8 +609,9 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
609609
} にバックスラッシュを前置するかどうかは任意です: \{n,m\}
610610

611611
*/\@=*
612-
\@= 幅ゼロの肯定先読み。{Vi にはない機能です}
613-
Perl の "(?=pattern)" と同じです。
612+
\@= 幅ゼロの肯定先読み。先行するアトムに幅ゼロでマッチします。
613+
{Vi にはない機能です}
614+
Perl の "(?=pattern)" と似ています。
614615
Example マッチするもの ~
615616
foo\(bar\)\@= "foobar" の "foo"
616617
foo\(bar\)\@=foo なにもマッチしない
@@ -627,17 +628,18 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
627628

628629

629630
*/\@!*
630-
\@! 幅ゼロの否定先読み。 |/zero-width| {Vi にはない機能です}
631-
Perl の "(?!pattern)" と同じです。
631+
\@! 幅ゼロの否定先読み。 先行するアトムが現在の位置でマッチしない場合に、
632+
幅ゼロでマッチします。|/zero-width| {Vi にはない機能です}
633+
Perl の "(?!pattern)" と似ています。
632634
Example マッチするもの ~
633635
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 "
636638

637639
"\@!" を使うには注意が必要です。パターンにマッチしない場所、というのは
638640
そこらじゅうにあるからです。"a.*p\@!" は "a" から行末までマッチしま
639641
す。なぜなら、".*" が全ての文字にマッチし、"p" は行末にマッチしないか
640-
らです。"a.\{-}p\@!" は後ろに "p" のない文字列、"a"、"ap"、"aap"、など
642+
らです。"a.\{-}p\@!" は後ろに "p" のない文字列、"a"、"ap"、"app"、など
641643
にマッチします。なぜなら、"." が "p" にもマッチし、"p\@!" がその後ろに
642644
マッチする(つまり "p" がマッチしない) からです。
643645

@@ -655,8 +657,10 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
655657
て "foo" の直前でマッチが開始したことにされます。
656658

657659
*/\@<=*
658-
\@<= 幅ゼロの肯定後読み。|/zero-width| {Vi にはない機能です}
659-
Perl の "(?<=pattern)" と同じですが、Vimでは可変長パターンも使えます。
660+
\@<= 幅ゼロの肯定後読み。先行するアトムが、この後に続くパターンの直前にマッ
661+
チする場合に、幅ゼロでマッチします。|/zero-width|
662+
{Vi にはない機能です}
663+
Perl の "(?<=pattern)" と似ていますが、Vimでは可変長パターンも使えます。
660664
Example マッチするもの ~
661665
\(an\_s\+\)\@<=file "an" と空白文字 (改行含む) の後の "file"
662666

@@ -671,16 +675,16 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
671675
行だけが検索されます。ほとんどの場合はこれで十分ですし、遅くなり過ぎる
672676
こともありません。
673677
"\@<=" や "\@<!" の後にくるパターンは最初にチェックされます。そのため、
674-
"\1" のような、\(\) の前方参照は機能しません。そのときは次のようにしま
675-
:
678+
先行するアトムの内側にある \(\) に対する "\1" のような参照は機能しませ
679+
ん。順番を逆にした場合は機能します:
676680
Example マッチするもの ~
677681
\1\@<=,\([a-z]\+\) "abc,abc" の ",abc"
678682

679683
*/\@<!*
680-
\@<! 幅ゼロの否定後読み。マッチの現在位置の直前の文字列が、アトムにマッチし
681-
ない場合にマッチします。現在行と 1 つ前の行だけがチェックされます。
682-
|/zero-width| {Vi にはない機能です}
683-
Perl の "(?<!pattern)" と同じですが、Vimでは可変長パターンも使えます。
684+
\@<! 幅ゼロの否定後読み。先行するアトムが、この後に続くパターンの直前にマッ
685+
チしない場合に、幅ゼロでマッチします。現在行と 1 つ前の行だけがチェッ
686+
クされます。|/zero-width| {Vi にはない機能です}
687+
Perl の "(?<!pattern)" と似ていますが、Vimでは可変長パターンも使えます。
684688
対象のアトムは、続くアトムの直前までがマッチの範囲になるため、最後が
685689
".*" で終わっているアトムも機能します。
686690
警告: これは遅くなることがあります (マッチするかどうかを多くの場所で
@@ -691,7 +695,7 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
691695

692696
*/\@>*
693697
\@> 強欲な量指定子。 {Vi にはない機能です}
694-
Perlの "(?>pattern)" と同じです
698+
Perlの "(?>pattern)" と似ています
695699
Example マッチするもの ~
696700
\(a*\)\@>a なにもマッチしない ("a*" が全ての "a" を取るので、その
697701
後に "a" があることはありません)
@@ -718,23 +722,23 @@ cat\Z "cat" と "càt" ("a" + 0x0300) にマッチする。
718722
^beep( (おそらく) C 言語の関数 "beep" の開始。
719723

720724
*/\^*
721-
\^ リテラル文字 '^' にマッチします。パターンのどの場所でも使えます。
725+
\^ リテラル文字の '^' にマッチします。パターンのどの場所でも使えます。
722726

723727
*/\_^*
724-
\_^ 行頭にマッチします。|/zero-width| パターンのどの場所でも使えます。
728+
\_^ 行頭にマッチします。|/zero-width| パターンのどの場所でも使えます。
725729
Example マッチするもの ~
726730
\_s*\_^foo 空白文字や空行の直後の、行頭の "foo"
727731

728732
*/$*
729733
$ パターンの末尾、または "\|"、"\)"、"\n" ('magic' on時) の前にある場
730734
合、行末 (<EOL>) にマッチします。他の場所にある場合は、リテラル文字の
731-
'$' にマッチします。 |/zero-width|
735+
'$' にマッチします。|/zero-width|
732736

733737
*/\$*
734738
\$ リテラル文字の '$' にマッチします。パターンのどの場所でも使えます。
735739

736740
*/\_$*
737-
\_$ 行末にマッチします。|/zero-width| パターンのどの場所でも使えます。
741+
\_$ 行末にマッチします。|/zero-width| パターンのどの場所でも使えます。
738742
Note: "a\_$b" はどこにもマッチしません。"b" は行末とはマッチしないから
739743
です。代わりに、"a\nb" を使ってください |/\n|
740744
Example マッチするもの ~
@@ -1035,8 +1039,8 @@ x 特別な意味のない文字は、その文字自身とマッチします
10351039
- リテラル文字の ']'、'^'、'-'、'\' をコレクションに含めるには、バック
10361040
スラッシュを前置して、"[xyz\]]"、"[\^xyz]"、"[xy\-z]"、"[xyz\\]" と
10371041
書きます。
1038-
Note: POSIX ではこのようなバックスラッシュの使い方はサポートされてい
1039-
ません。
1042+
(Note: POSIX ではこのようなバックスラッシュの使い方はサポートされて
1043+
いません。)
10401044
']' は、コレクションの先頭、または '^' の直後にそのまま書いて、
10411045
"[]xyz]" や "[^]xyz]" とすることができます。
10421046
{Vi にはない機能です}
@@ -1169,7 +1173,7 @@ Vim と Perl の正規表現は、とても似ていて、同じ事ができま
11691173
----------------------------------------------------------------
11701174
大文字と小文字を区別しない \c (?i)
11711175
大文字と小文字を区別する \C (?-i)
1172-
前方参照しないグループ \%(atom\) (?:atom)
1176+
後方参照しないグループ \%(atom\) (?:atom)
11731177
最短一致の量指定子 \{-n,m} *?, +?, ??, {}?
11741178
幅ゼロの肯定先読み atom\@= (?=atom)
11751179
幅ゼロの否定先読み atom\@! (?!atom)

0 commit comments

Comments
 (0)