perlreref >
5.22.1
との差分
perlreref 5.22.1 と 5.26.1 の差分
1 | 1 | |
2 | 2 | =encoding euc-jp |
3 | 3 | |
4 | 4 | =head1 NAME |
5 | 5 | |
6 | 6 | =begin original |
7 | 7 | |
8 | 8 | perlreref - Perl Regular Expressions Reference |
9 | 9 | |
10 | 10 | =end original |
11 | 11 | |
12 | 12 | perlreref - Perl の正規表現のリファレンス |
13 | 13 | |
14 | 14 | =head1 DESCRIPTION |
15 | 15 | |
16 | 16 | =begin original |
17 | 17 | |
18 | 18 | This is a quick reference to Perl's regular expressions. |
19 | 19 | For full information see L<perlre> and L<perlop>, as well |
20 | 20 | as the L</"SEE ALSO"> section in this document. |
21 | 21 | |
22 | 22 | =end original |
23 | 23 | |
24 | 24 | 本ドキュメントは、Perl の正規表現のクイックリファレンスです。 |
25 | 25 | 完全な情報は、L<perlre> と L<perlop>、また、本ドキュメントの |
26 | 26 | L</"SEE ALSO"> セクションを参照してください。 |
27 | 27 | |
28 | 28 | =head2 OPERATORS |
29 | 29 | |
30 | 30 | (演算子) |
31 | 31 | |
32 | 32 | =begin original |
33 | 33 | |
34 | 34 | C<=~> determines to which variable the regex is applied. |
35 | 35 | In its absence, $_ is used. |
36 | 36 | |
37 | 37 | =end original |
38 | 38 | |
39 | 39 | C<=~> は正規表現が適用される変数を決定します。 |
40 | 40 | 省略された場合には、$_ が使われます。 |
41 | 41 | |
42 | 42 | $var =~ /foo/; |
43 | 43 | |
44 | 44 | =begin original |
45 | 45 | |
46 | 46 | C<!~> determines to which variable the regex is applied, |
47 | 47 | and negates the result of the match; it returns |
48 | 48 | false if the match succeeds, and true if it fails. |
49 | 49 | |
50 | 50 | =end original |
51 | 51 | |
52 | 52 | C<!~> は正規表現が適用される変数を決定し、マッチの結果を反転します; |
53 | 53 | マッチが成功すれば偽を返し、失敗すれば真を返します。 |
54 | 54 | |
55 | 55 | $var !~ /foo/; |
56 | 56 | |
57 | 57 | =begin original |
58 | 58 | |
59 | 59 | C<m/pattern/msixpogcdualn> searches a string for a pattern match, |
60 | 60 | applying the given options. |
61 | 61 | |
62 | 62 | =end original |
63 | 63 | |
64 | 64 | C<m/pattern/msixpogcdualn> パターンマッチのために文字列を検索し、 |
65 | 65 | 与えられたオプションを適用します。 |
66 | 66 | |
67 | 67 | =begin original |
68 | 68 | |
69 | 69 | m Multiline mode - ^ and $ match internal lines |
70 | 70 | s match as a Single line - . matches \n |
71 | 71 | i case-Insensitive |
72 | 72 | x eXtended legibility - free whitespace and comments |
73 | 73 | p Preserve a copy of the matched string - |
74 | 74 | ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be defined. |
75 | 75 | o compile pattern Once |
76 | 76 | g Global - all occurrences |
77 | 77 | c don't reset pos on failed matches when using /g |
78 | 78 | a restrict \d, \s, \w and [:posix:] to match ASCII only |
79 | 79 | aa (two a's) also /i matches exclude ASCII/non-ASCII |
80 | 80 | l match according to current locale |
81 | 81 | u match according to Unicode rules |
82 | 82 | d match according to native rules unless something indicates |
83 | 83 | Unicode |
84 | 84 | n Non-capture mode. Don't let () fill in $1, $2, etc... |
85 | 85 | |
86 | 86 | =end original |
87 | 87 | |
88 | 88 | m 複数行モード - ^ と $ が内部的な行にマッチします |
89 | 89 | s 単行としてマッチ - . が \n にマッチします |
90 | 90 | i 大小文字の違いを無視します |
91 | 91 | x 読みやすさの拡張 - 空白やコメントを自由に置けます |
92 | 92 | p マッチした文字列のコピーを保存する - |
93 | 93 | ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} が定義されます。 |
94 | 94 | o パターンを一度だけコンパイルします |
95 | 95 | g グローバル - マッチするものすべて |
96 | 96 | c /g を使っているときにマッチに失敗しても pos をリセットしません |
97 | 97 | a \d, \s, \w, [:posix:] で ASCII のみにマッチングするように制限 |
98 | 98 | aa (二つの a) また /i のマッチングは ASCII/非-ASCII を除外 |
99 | 99 | l 現在のロケールに従ってマッチング |
100 | 100 | u Unicode のルールに従ってマッチング |
101 | 101 | d Unicode を示すものがない限りネイティブなルールに従ってマッチング |
102 | 102 | n 非捕捉モード。() で $1, $2 などを埋めない |
103 | 103 | |
104 | 104 | =begin original |
105 | 105 | |
106 | 106 | If 'pattern' is an empty string, the last I<successfully> matched |
107 | 107 | regex is used. Delimiters other than '/' may be used for both this |
108 | 108 | operator and the following ones. The leading C<m> can be omitted |
109 | 109 | if the delimiter is '/'. |
110 | 110 | |
111 | 111 | =end original |
112 | 112 | |
113 | 113 | 'pattern' が空文字列なら、最後にマッチングに I<成功した> |
114 | 114 | 正規表現が使われます。 |
115 | 115 | この演算子とそれに続くものの両方で、'/' 以外のデリミタも使えます。 |
116 | 116 | デリミタが '/' の場合は C<m> は省略できます。 |
117 | 117 | |
118 | 118 | =begin original |
119 | 119 | |
120 | 120 | C<qr/pattern/msixpodualn> lets you store a regex in a variable, |
121 | 121 | or pass one around. Modifiers as for C<m//>, and are stored |
122 | 122 | within the regex. |
123 | 123 | |
124 | 124 | =end original |
125 | 125 | |
126 | 126 | C<qr/pattern/msixpodualn> は、正規表現を変数に入れるか、順に回せるように |
127 | 127 | します。 |
128 | 128 | C<m//> と同じ修飾子が使えて、正規表現に保管されます。 |
129 | 129 | |
130 | 130 | =begin original |
131 | 131 | |
132 | 132 | C<s/pattern/replacement/msixpogcedual> substitutes matches of |
133 | 133 | 'pattern' with 'replacement'. Modifiers as for C<m//>, |
134 | 134 | with two additions: |
135 | 135 | |
136 | 136 | =end original |
137 | 137 | |
138 | 138 | C<s/pattern/replacement/msixpogcedual> は、'pattern' でマッチしたものを |
139 | 139 | 'replacement' で置き換えます。 |
140 | 140 | C<m//> と同じ修飾子が使えて、さらに二つ追加されます: |
141 | 141 | |
142 | 142 | =begin original |
143 | 143 | |
144 | 144 | e Evaluate 'replacement' as an expression |
145 | 145 | r Return substitution and leave the original string untouched. |
146 | 146 | |
147 | 147 | =end original |
148 | 148 | |
149 | 149 | e 'replacement' を式として評価します |
150 | 150 | r 置換した結果を返し、元の文字列は変更しません。 |
151 | 151 | |
152 | 152 | =begin original |
153 | 153 | |
154 | 154 | 'e' may be specified multiple times. 'replacement' is interpreted |
155 | 155 | as a double quoted string unless a single-quote (C<'>) is the delimiter. |
156 | 156 | |
157 | 157 | =end original |
158 | 158 | |
159 | 159 | 'e' は複数回指定できます。 |
160 | 160 | 'replacement' は、デリミタとしてシングルクォート (C<'>) が使われた場合を |
161 | 161 | 除いて、ダブルクォートされた文字列として解釈されます。 |
162 | 162 | |
163 | 163 | =begin original |
164 | 164 | |
165 | C<?pattern?> is like C<m/pattern/> but matches only once. No alternate | |
165 | C<m?pattern?> is like C<m/pattern/> but matches only once. No alternate | |
166 | 166 | delimiters can be used. Must be reset with reset(). |
167 | 167 | |
168 | 168 | =end original |
169 | 169 | |
170 | C<?pattern?> は C<m/pattern/> に似ていますが、一度だけマッチします。 | |
170 | C<m?pattern?> は C<m/pattern/> に似ていますが、一度だけマッチします。 | |
171 | 171 | デリミタは変更できません。 |
172 | 172 | reset() でリセットしなければなりません。 |
173 | 173 | |
174 | 174 | =head2 SYNTAX |
175 | 175 | |
176 | 176 | =begin original |
177 | 177 | |
178 | 178 | \ Escapes the character immediately following it |
179 | 179 | . Matches any single character except a newline (unless /s is |
180 | 180 | used) |
181 | 181 | ^ Matches at the beginning of the string (or line, if /m is used) |
182 | 182 | $ Matches at the end of the string (or line, if /m is used) |
183 | 183 | * Matches the preceding element 0 or more times |
184 | 184 | + Matches the preceding element 1 or more times |
185 | 185 | ? Matches the preceding element 0 or 1 times |
186 | 186 | {...} Specifies a range of occurrences for the element preceding it |
187 | 187 | [...] Matches any one of the characters contained within the brackets |
188 | 188 | (...) Groups subexpressions for capturing to $1, $2... |
189 | 189 | (?:...) Groups subexpressions without capturing (cluster) |
190 | 190 | | Matches either the subexpression preceding or following it |
191 | 191 | \g1 or \g{1}, \g2 ... Matches the text from the Nth group |
192 | 192 | \1, \2, \3 ... Matches the text from the Nth group |
193 | 193 | \g-1 or \g{-1}, \g-2 ... Matches the text from the Nth previous group |
194 | 194 | \g{name} Named backreference |
195 | 195 | \k<name> Named backreference |
196 | 196 | \k'name' Named backreference |
197 | 197 | (?P=name) Named backreference (python syntax) |
198 | 198 | |
199 | 199 | =end original |
200 | 200 | |
201 | 201 | \ 直後の文字をエスケープします |
202 | 202 | . 改行を除く任意の一文字にマッチします (/s が使われていない場合) |
203 | 203 | ^ 文字列(/m が使われている場合は行)の先頭にマッチします |
204 | 204 | $ 文字列(/m が使われている場合は行)の末尾にマッチします |
205 | 205 | * 先行する要素のゼロ回以上の繰り返しにマッチします |
206 | 206 | + 先行する要素の一回以上の繰り返しにマッチします |
207 | 207 | ? 先行する要素のゼロ回または一回の出現にマッチします |
208 | 208 | {...} 先行する要素の繰り返しの範囲を指定します |
209 | 209 | [...] ブラケットの内側にある文字のいずれかにマッチします |
210 | 210 | (...) $1, $2... のために部分正規表現をグループ化して捕捉します |
211 | 211 | (?:...) 部分正規表現を捕捉することなくグループ化します (クラスター) |
212 | 212 | | 左右いずれかにある部分正規表現にマッチします |
213 | 213 | \g1 or \g{1}, \g2 ... N 番目のグループのテキストにマッチします |
214 | 214 | \1, \2, \3 ... N 番目のグループのテキストにマッチします |
215 | 215 | \g-1 or \g{-1}, \g-2 ... N 個前のグループのテキストにマッチします |
216 | 216 | \g{name} 名前つき後方参照 |
217 | 217 | \k<name> 名前つき後方参照 |
218 | 218 | \k'name' 名前つき後方参照 |
219 | 219 | (?P=name) 名前つき後方参照 (python の文法) |
220 | 220 | |
221 | 221 | =head2 ESCAPE SEQUENCES |
222 | 222 | |
223 | 223 | (エスケープシーケンス) |
224 | 224 | |
225 | 225 | =begin original |
226 | 226 | |
227 | 227 | These work as in normal strings. |
228 | 228 | |
229 | 229 | =end original |
230 | 230 | |
231 | 231 | これらは通常の文字列として働きます。 |
232 | 232 | |
233 | 233 | =begin original |
234 | 234 | |
235 | 235 | \a Alarm (beep) |
236 | 236 | \e Escape |
237 | 237 | \f Formfeed |
238 | 238 | \n Newline |
239 | 239 | \r Carriage return |
240 | 240 | \t Tab |
241 | 241 | \037 Char whose ordinal is the 3 octal digits, max \777 |
242 | 242 | \o{2307} Char whose ordinal is the octal number, unrestricted |
243 | 243 | \x7f Char whose ordinal is the 2 hex digits, max \xFF |
244 | 244 | \x{263a} Char whose ordinal is the hex number, unrestricted |
245 | 245 | \cx Control-x |
246 | 246 | \N{name} A named Unicode character or character sequence |
247 | 247 | \N{U+263D} A Unicode character by hex ordinal |
248 | 248 | |
249 | 249 | =end original |
250 | 250 | |
251 | 251 | \a アラーム (ビープ) |
252 | 252 | \e エスケープ |
253 | 253 | \f 改ページ |
254 | 254 | \n 改行 |
255 | 255 | \r キャリッジリターン |
256 | 256 | \t タブ |
257 | 257 | \037 番号が 3 桁の 8 進数である文字、最大 \777 |
258 | 258 | \o{2307} 番号が 8 進数である文字、無制限 |
259 | 259 | \x7f 番号が 2 桁の 16 進数である文字、最大 \xFF |
260 | 260 | \x{263a} 番号が 16 進数である文字、無制限 |
261 | 261 | \cx Control-x |
262 | 262 | \N{name} 名前つき Unicode 文字または文字並び |
263 | 263 | \N{U+263D} 16 進数による Unicode 文字 |
264 | 264 | |
265 | 265 | =begin original |
266 | 266 | |
267 | 267 | \l Lowercase next character |
268 | 268 | \u Titlecase next character |
269 | 269 | \L Lowercase until \E |
270 | 270 | \U Uppercase until \E |
271 | 271 | \F Foldcase until \E |
272 | 272 | \Q Disable pattern metacharacters until \E |
273 | 273 | \E End modification |
274 | 274 | |
275 | 275 | =end original |
276 | 276 | |
277 | 277 | \l 次の文字を小文字にします |
278 | 278 | \u 次の文字をタイトル文字にします |
279 | 279 | \L \E まで小文字にします |
280 | 280 | \U \E まで大文字にします |
281 | 281 | \F \E まで畳み込み文字にします |
282 | 282 | \Q \E までパターンのメタ文字を無効にします |
283 | 283 | \E 修正を終了します |
284 | 284 | |
285 | 285 | =begin original |
286 | 286 | |
287 | 287 | For Titlecase, see L</Titlecase>. |
288 | 288 | |
289 | 289 | =end original |
290 | 290 | |
291 | 291 | タイトル文字にについては L</Titlecase> を参照してください。 |
292 | 292 | |
293 | 293 | =begin original |
294 | 294 | |
295 | 295 | This one works differently from normal strings: |
296 | 296 | |
297 | 297 | =end original |
298 | 298 | |
299 | 299 | この 1 つは通常の文字列とは異なった働きをします: |
300 | 300 | |
301 | 301 | =begin original |
302 | 302 | |
303 | 303 | \b An assertion, not backspace, except in a character class |
304 | 304 | |
305 | 305 | =end original |
306 | 306 | |
307 | 307 | \b 文字クラスの中以外では、表明であってバックスペースではありません |
308 | 308 | |
309 | 309 | =head2 CHARACTER CLASSES |
310 | 310 | |
311 | 311 | (文字クラス) |
312 | 312 | |
313 | 313 | =begin original |
314 | 314 | |
315 | 315 | [amy] Match 'a', 'm' or 'y' |
316 | 316 | [f-j] Dash specifies "range" |
317 | 317 | [f-j-] Dash escaped or at start or end means 'dash' |
318 | 318 | [^f-j] Caret indicates "match any character _except_ these" |
319 | 319 | |
320 | 320 | =end original |
321 | 321 | |
322 | 322 | [amy] 'a', 'm', 'y' のいずれかにマッチ |
323 | 323 | [f-j] ダッシュは「範囲」を指定します |
324 | 324 | [f-j-] エスケープされるか、最初か最後にあるダッシュは「ダッシュ」を意味します |
325 | 325 | [^f-j] キャレットは「これら以外にマッチ」を示します |
326 | 326 | |
327 | 327 | =begin original |
328 | 328 | |
329 | 329 | The following sequences (except C<\N>) work within or without a character class. |
330 | 330 | The first six are locale aware, all are Unicode aware. See L<perllocale> |
331 | 331 | and L<perlunicode> for details. |
332 | 332 | |
333 | 333 | =end original |
334 | 334 | |
335 | 335 | (C<\N> 以外の)以下のシーケンスは文字クラス内でもそれ以外でも動作します。 |
336 | 336 | 最初の 6 つはロケールの影響を受け、全ては Unicode の影響を受けます。 |
337 | 337 | 詳細については L<perllocale> と L<perlunicode> を参照してください。 |
338 | 338 | |
339 | 339 | =begin original |
340 | 340 | |
341 | 341 | \d A digit |
342 | 342 | \D A nondigit |
343 | 343 | \w A word character |
344 | 344 | \W A non-word character |
345 | 345 | \s A whitespace character |
346 | 346 | \S A non-whitespace character |
347 | 347 | \h An horizontal whitespace |
348 | 348 | \H A non horizontal whitespace |
349 | 349 | \N A non newline (when not followed by '{NAME}';; |
350 | 350 | not valid in a character class; equivalent to [^\n]; it's |
351 | 351 | like '.' without /s modifier) |
352 | 352 | \v A vertical whitespace |
353 | 353 | \V A non vertical whitespace |
354 | 354 | \R A generic newline (?>\v|\x0D\x0A) |
355 | 355 | |
356 | 356 | =end original |
357 | 357 | |
358 | 358 | \d 数値 |
359 | 359 | \D 非数値 |
360 | 360 | \w 単語文字 |
361 | 361 | \W 非単語文字 |
362 | 362 | \s 空白文字 |
363 | 363 | \S 非空白文字 |
364 | 364 | \h 水平空白文字 |
365 | 365 | \H 非水平空白文字 |
366 | 366 | \N 非改行 ('{NAME}' に引き続いていない場合;; 文字クラスでは |
367 | 367 | 不正; [^\n] と等価; /s なしの場合の '.' と同様) |
368 | 368 | \v 垂直空白文字 |
369 | 369 | \V 非垂直空白文字 |
370 | 370 | \R 一般的な改行 (?>\v|\x0D\x0A) |
371 | 371 | |
372 | 372 | =begin original |
373 | 373 | |
374 | \C Match a byte (with Unicode, '.' matches a character) | |
375 | (Deprecated.) | |
376 | 374 | \pP Match P-named (Unicode) property |
377 | 375 | \p{...} Match Unicode property with name longer than 1 character |
378 | 376 | \PP Match non-P |
379 | 377 | \P{...} Match lack of Unicode property with name longer than 1 char |
380 | 378 | \X Match Unicode extended grapheme cluster |
381 | 379 | |
382 | 380 | =end original |
383 | 381 | |
384 | \C 1 バイトにマッチする (Unicode では、'.' は文字にマッチする) | |
385 | (廃止予定。) | |
386 | 382 | \pP P の名前の (Unicode) プロパティ |
387 | 383 | \p{...} 1 文字より長い名前の Unicode プロパティにマッチする |
388 | 384 | \PP 非 P にマッチする |
389 | 385 | \P{...} 1 文字より長い名前の Unicode プロパティがないものにマッチする |
390 | 386 | \X Unicode の拡張書記素クラスタにマッチする |
391 | 387 | |
392 | 388 | =begin original |
393 | 389 | |
394 | 390 | POSIX character classes and their Unicode and Perl equivalents: |
395 | 391 | |
396 | 392 | =end original |
397 | 393 | |
398 | 394 | POSIX 文字クラスと、それに対する Unicode と Perl の相当物は: |
399 | 395 | |
400 | 396 | ASCII- Full- |
401 | 397 | POSIX range range backslash |
402 | 398 | [[:...:]] \p{...} \p{...} sequence Description |
403 | 399 | |
404 | 400 | =begin original |
405 | 401 | |
406 | 402 | ----------------------------------------------------------------------- |
407 | alnum PosixAlnum XPosixAlnum | |
403 | alnum PosixAlnum XPosixAlnum 'alpha' plus 'digit' | |
408 | 404 | alpha PosixAlpha XPosixAlpha Alphabetic characters |
409 | 405 | ascii ASCII Any ASCII character |
410 | 406 | blank PosixBlank XPosixBlank \h Horizontal whitespace; |
411 | 407 | full-range also |
412 | 408 | written as |
413 | 409 | \p{HorizSpace} (GNU |
414 | 410 | extension) |
415 | 411 | cntrl PosixCntrl XPosixCntrl Control characters |
416 | 412 | digit PosixDigit XPosixDigit \d Decimal digits |
417 | graph PosixGraph XPosixGraph | |
413 | graph PosixGraph XPosixGraph 'alnum' plus 'punct' | |
418 | 414 | lower PosixLower XPosixLower Lowercase characters |
419 | print PosixPrint XPosixPrint | |
415 | print PosixPrint XPosixPrint 'graph' plus 'space', | |
420 | not any Cntrls | |
416 | but not any Controls | |
421 | 417 | punct PosixPunct XPosixPunct Punctuation and Symbols |
422 | 418 | in ASCII-range; just |
423 | 419 | punct outside it |
424 | space PosixSpace XPosixSpace | |
420 | space PosixSpace XPosixSpace \s Whitespace | |
425 | PerlSpace XPerlSpace \s Perl's whitespace def'n | |
426 | 421 | upper PosixUpper XPosixUpper Uppercase characters |
427 | word PosixWord XPosixWord \w | |
422 | word PosixWord XPosixWord \w 'alnum' + Unicode marks | |
428 | connectors, like | |
423 | + connectors, like | |
429 | (Perl extension) | |
424 | '_' (Perl extension) | |
430 | 425 | xdigit ASCII_Hex_Digit XPosixDigit Hexadecimal digit, |
431 | 426 | ASCII-range is |
432 | 427 | [0-9A-Fa-f] |
433 | 428 | |
434 | 429 | =end original |
435 | 430 | |
436 | 431 | ----------------------------------------------------------------------- |
437 | alnum PosixAlnum XPosixAlnum | |
432 | alnum PosixAlnum XPosixAlnum 'alpha' と 'digit' | |
438 | 433 | alpha PosixAlpha XPosixAlpha 英字 |
439 | 434 | ascii ASCII 任意の ASCII 文字 |
440 | 435 | blank PosixBlank XPosixBlank \h 水平空白; |
441 | 436 | 全種類は \p{HorizSpace} |
442 | 437 | とも (GNU 拡張) |
443 | 438 | cntrl PosixCntrl XPosixCntrl 制御文字 |
444 | 439 | digit PosixDigit XPosixDigit \d 数字 |
445 | graph PosixGraph XPosixGraph | |
440 | graph PosixGraph XPosixGraph 'alnum' と 'punct' | |
446 | 441 | lower PosixLower XPosixLower 小文字 |
447 | print PosixPrint XPosixPrint | |
442 | print PosixPrint XPosixPrint 'graph' と 'space', しかし | |
448 | Cntrl は含まない | |
443 | Control は含まない | |
449 | 444 | punct PosixPunct XPosixPunct ASCII の範囲の句読点と |
450 | 445 | シンボル; 単にその外側の |
451 | 446 | punct |
452 | space PosixSpace XPosixSpace | |
447 | space PosixSpace XPosixSpace \s 空白文字 | |
453 | PerlSpace XPerlSpace \s Perl の空白の定義 | |
454 | 448 | upper PosixUpper XPosixUpper 大文字 |
455 | word PosixWord XPosixWord \w | |
449 | word PosixWord XPosixWord \w 'alnum' + Unicode マーク + | |
456 | 450 | '_' のような接続文字 |
457 | 451 | (Perl 拡張) |
458 | 452 | xdigit ASCII_Hex_Digit XPosixDigit 16 進数; |
459 | 453 | ASCII の範囲では |
460 | 454 | [0-9A-Fa-f] |
461 | 455 | |
462 | 456 | =begin original |
463 | 457 | |
464 | 458 | Also, various synonyms like C<\p{Alpha}> for C<\p{XPosixAlpha}>; all listed |
465 | 459 | in L<perluniprops/Properties accessible through \p{} and \P{}> |
466 | 460 | |
467 | 461 | =end original |
468 | 462 | |
469 | 463 | また、C<\p{XPosixAlpha}> のための C<\p{Alpha}> のような、さまざまな |
470 | 464 | 同義語があります; 全ての一覧は |
471 | 465 | L<perluniprops/Properties accessible through \p{} and \P{}> にあります。 |
472 | 466 | |
473 | 467 | =begin original |
474 | 468 | |
475 | 469 | Within a character class: |
476 | 470 | |
477 | 471 | =end original |
478 | 472 | |
479 | 473 | 文字クラスの中では: |
480 | 474 | |
481 | 475 | POSIX traditional Unicode |
482 | 476 | [:digit:] \d \p{Digit} |
483 | 477 | [:^digit:] \D \P{Digit} |
484 | 478 | |
485 | 479 | =head2 ANCHORS |
486 | 480 | |
487 | 481 | (アンカー) |
488 | 482 | |
489 | 483 | =begin original |
490 | 484 | |
491 | 485 | All are zero-width assertions. |
492 | 486 | |
493 | 487 | =end original |
494 | 488 | |
495 | 489 | すべてゼロ幅の表明です。 |
496 | 490 | |
497 | 491 | =begin original |
498 | 492 | |
499 | 493 | ^ Match string start (or line, if /m is used) |
500 | 494 | $ Match string end (or line, if /m is used) or before newline |
501 | 495 | \b{} Match boundary of type specified within the braces |
502 | 496 | \B{} Match wherever \b{} doesn't match |
503 | 497 | \b Match word boundary (between \w and \W) |
504 | 498 | \B Match except at word boundary (between \w and \w or \W and \W) |
505 | 499 | \A Match string start (regardless of /m) |
506 | 500 | \Z Match string end (before optional newline) |
507 | 501 | \z Match absolute string end |
508 | 502 | \G Match where previous m//g left off |
509 | 503 | \K Keep the stuff left of the \K, don't include it in $& |
510 | 504 | |
511 | 505 | =end original |
512 | 506 | |
513 | 507 | ^ 文字列(/m が指定されている場合には行)の先頭にマッチします |
514 | 508 | $ 文字列(/m が指定されている場合には行)の終端もしくは改行の前にマッチします |
515 | 509 | \b{} 中かっこ内で指定された境界にマッチングする |
516 | 510 | \B{} \b{} でマッチングしないものにマッチングする |
517 | 511 | \b 単語境界(\w と ¥W の間)にマッチします |
518 | 512 | \B 単語境界以外(\w と \w の間か \W と \W の間)にマッチします |
519 | 513 | \A 文字列の先頭(/m には影響されません)にマッチします |
520 | 514 | \Z 文字列の末尾(省略可能な改行の前)にマッチします |
521 | 515 | \z 文字列の本当の末尾にマッチします |
522 | 516 | \G 前回の m//g のマッチした場所の末尾にマッチします |
523 | 517 | \K \K の左側の内容を維持する、$& には含まない |
524 | 518 | |
525 | 519 | =head2 QUANTIFIERS |
526 | 520 | |
527 | 521 | (量指定子) |
528 | 522 | |
529 | 523 | =begin original |
530 | 524 | |
531 | 525 | Quantifiers are greedy by default and match the B<longest> leftmost. |
532 | 526 | |
533 | 527 | =end original |
534 | 528 | |
535 | 529 | 量指定子はデフォルトでは貪欲で、 一番左から B<一番長く> マッチします。 |
536 | 530 | |
537 | 531 | =begin original |
538 | 532 | |
539 | 533 | Maximal Minimal Possessive Allowed range |
540 | 534 | ------- ------- ---------- ------------- |
541 | 535 | {n,m} {n,m}? {n,m}+ Must occur at least n times |
542 | 536 | but no more than m times |
543 | 537 | {n,} {n,}? {n,}+ Must occur at least n times |
544 | 538 | {n} {n}? {n}+ Must occur exactly n times |
545 | 539 | * *? *+ 0 or more times (same as {0,}) |
546 | 540 | + +? ++ 1 or more times (same as {1,}) |
547 | 541 | ? ?? ?+ 0 or 1 time (same as {0,1}) |
548 | 542 | |
549 | 543 | =end original |
550 | 544 | |
551 | 545 | 最大 最小 所有格 範囲 |
552 | 546 | ------- ------- ---------- ------------- |
553 | 547 | {n,m} {n,m}? {n,m}+ 最低 n 回、m 回以内出現 |
554 | 548 | {n,} {n,}? {n,}+ 最低 n 回出現 |
555 | 549 | {n} {n}? {n}+ 正確に n 回出現 |
556 | 550 | * *? *+ 0 回以上 ({0,} と同じ) |
557 | 551 | + +? ++ 1 回以上 ({1,} と同じ) |
558 | 552 | ? ?? ?+ 0 回または 1 回 ({0,1} と同じ) |
559 | 553 | |
560 | 554 | =begin original |
561 | 555 | |
562 | 556 | The possessive forms (new in Perl 5.10) prevent backtracking: what gets |
563 | 557 | matched by a pattern with a possessive quantifier will not be backtracked |
564 | 558 | into, even if that causes the whole match to fail. |
565 | 559 | |
566 | 560 | =end original |
567 | 561 | |
568 | 562 | (Perl 5.10 で導入された) 所有格はバックトラックを抑制します: |
569 | 563 | 所有格量指定子が付いたパターンでマッチした場合、バックトラックはしません; |
570 | 564 | たとえこれによってマッチ全体が失敗することになってもです。 |
571 | 565 | |
572 | 566 | =begin original |
573 | 567 | |
574 | 568 | There is no quantifier C<{,n}>. That's interpreted as a literal string. |
575 | 569 | |
576 | 570 | =end original |
577 | 571 | |
578 | 572 | C<{,n}> という量指定子はありません。 |
579 | 573 | これはリテラルな文字列として扱われます。 |
580 | 574 | |
581 | 575 | =head2 EXTENDED CONSTRUCTS |
582 | 576 | |
583 | 577 | (拡張構造) |
584 | 578 | |
585 | 579 | =begin original |
586 | 580 | |
587 | 581 | (?#text) A comment |
588 | 582 | (?:...) Groups subexpressions without capturing (cluster) |
589 | 583 | (?pimsx-imsx:...) Enable/disable option (as per m// modifiers) |
590 | 584 | (?=...) Zero-width positive lookahead assertion |
591 | 585 | (?!...) Zero-width negative lookahead assertion |
592 | 586 | (?<=...) Zero-width positive lookbehind assertion |
593 | 587 | (?<!...) Zero-width negative lookbehind assertion |
594 | 588 | (?>...) Grab what we can, prohibit backtracking |
595 | 589 | (?|...) Branch reset |
596 | 590 | (?<name>...) Named capture |
597 | 591 | (?'name'...) Named capture |
598 | 592 | (?P<name>...) Named capture (python syntax) |
599 | 593 | (?[...]) Extended bracketed character class |
600 | 594 | (?{ code }) Embedded code, return value becomes $^R |
601 | 595 | (??{ code }) Dynamic regex, return value used as regex |
602 | 596 | (?N) Recurse into subpattern number N |
603 | 597 | (?-N), (?+N) Recurse into Nth previous/next subpattern |
604 | 598 | (?R), (?0) Recurse at the beginning of the whole pattern |
605 | 599 | (?&name) Recurse into a named subpattern |
606 | 600 | (?P>name) Recurse into a named subpattern (python syntax) |
607 | 601 | (?(cond)yes|no) |
608 | 602 | (?(cond)yes) Conditional expression, where "cond" can be: |
609 | (?=pat) look | |
603 | (?=pat) lookahead | |
610 | (?!pat) negative look | |
604 | (?!pat) negative lookahead | |
611 | (?<=pat) look | |
605 | (?<=pat) lookbehind | |
612 | (?<!pat) negative look | |
606 | (?<!pat) negative lookbehind | |
613 | 607 | (N) subpattern N has matched something |
614 | 608 | (<name>) named subpattern has matched something |
615 | 609 | ('name') named subpattern has matched something |
616 | 610 | (?{code}) code condition |
617 | 611 | (R) true if recursing |
618 | 612 | (RN) true if recursing into Nth subpattern |
619 | 613 | (R&name) true if recursing into named subpattern |
620 | 614 | (DEFINE) always false, no no-pattern allowed |
621 | 615 | |
622 | 616 | =end original |
623 | 617 | |
624 | 618 | (?#text) コメント |
625 | 619 | (?:...) 部分正規表現を捕捉することなくグループ化します (クラスター) |
626 | 620 | (?imxs-imsx:...) オプションを有効/無効にする (m// 修飾子のものと同じ) |
627 | 621 | (?=...) ゼロ幅の肯定先読み表明 |
628 | 622 | (?!...) ゼロ幅の否定先読み表明 |
629 | 623 | (?<=...) ゼロ幅の肯定後読み表明 |
630 | 624 | (?<!...) ゼロ幅の否定後読み表明 |
631 | 625 | (?>...) 出来うる限りマッチし、バックトラックしない |
632 | 626 | (?|...) 分岐のリセット |
633 | 627 | (?<name>...) 名前付き捕捉 |
634 | 628 | (?'name'...) 名前付き捕捉 |
635 | 629 | (?P<name>...) 名前付き捕捉 (python 文法) |
636 | 630 | (?[...]) 拡張大かっこ文字クラス |
637 | 631 | (?{ code }) 埋め込みコード。 戻り値は $^R に格納されます |
638 | 632 | (??{ code }) 動的正規表現。戻り値は正規表現として扱われます |
639 | 633 | (?N) サブパターン番号 N に再帰する |
640 | 634 | (?-N), (?+N) N 個前/後のサブパターンに再帰する |
641 | 635 | (?R), (?0) パターン全体の先頭に再帰する |
642 | 636 | (?&name) 名前付きサブパターンに再帰する |
643 | 637 | (?P>name) 名前付きサブパターンに再帰する (python 文法) |
644 | 638 | (?(cond)yes|no) |
645 | 639 | (?(cond)yes) 条件式; "cond" で指定できるのは: |
646 | 640 | (?=pat) 前方参照 |
647 | 641 | (?!pat) 前方参照の否定 |
648 | 642 | (?<=pat) 後方参照 |
649 | 643 | (?<!pat) 後方参照の否定 |
650 | 644 | (N) サブパターン N が何かにマッチした |
651 | 645 | (<name>) 名前付きサブルーチンが何かにマッチした |
652 | 646 | ('name') 名前付きサブルーチンが何かにマッチした |
653 | 647 | (?{code}) コード条件 |
654 | 648 | (R) 再帰したら真 |
655 | 649 | (RN) N 番目のサブパターンに再帰したら真 |
656 | 650 | (R&name) 名前付きサブパターンに再帰したら真 |
657 | 651 | (DEFINE) 常に偽; パターンなしは許されない |
658 | 652 | |
659 | 653 | =head2 VARIABLES |
660 | 654 | |
661 | 655 | (変数) |
662 | 656 | |
663 | 657 | =begin original |
664 | 658 | |
665 | 659 | $_ Default variable for operators to use |
666 | 660 | |
667 | 661 | =end original |
668 | 662 | |
669 | 663 | $_ 演算子が使用するデフォルトの変数 |
670 | 664 | |
671 | 665 | =begin original |
672 | 666 | |
673 | 667 | $` Everything prior to matched string |
674 | 668 | $& Entire matched string |
675 | 669 | $' Everything after to matched string |
676 | 670 | |
677 | 671 | =end original |
678 | 672 | |
679 | 673 | $` マッチした文字列に先行する部分 |
680 | 674 | $& マッチした文字列全体 |
681 | 675 | $' マッチした文字列に後続する部分 |
682 | 676 | |
683 | 677 | =begin original |
684 | 678 | |
685 | 679 | ${^PREMATCH} Everything prior to matched string |
686 | 680 | ${^MATCH} Entire matched string |
687 | 681 | ${^POSTMATCH} Everything after to matched string |
688 | 682 | |
689 | 683 | =end original |
690 | 684 | |
691 | 685 | ${^PREMATCH} マッチした文字列に先行する部分 |
692 | 686 | ${^MATCH} マッチした文字列全体 |
693 | 687 | ${^POSTMATCH} マッチした文字列に後続する部分 |
694 | 688 | |
695 | 689 | =begin original |
696 | 690 | |
697 | 691 | Note to those still using Perl 5.18 or earlier: |
698 | 692 | The use of C<$`>, C<$&> or C<$'> will slow down B<all> regex use |
699 | 693 | within your program. Consult L<perlvar> for C<@-> |
700 | 694 | to see equivalent expressions that won't cause slow down. |
701 | 695 | See also L<Devel::SawAmpersand>. Starting with Perl 5.10, you |
702 | 696 | can also use the equivalent variables C<${^PREMATCH}>, C<${^MATCH}> |
703 | 697 | and C<${^POSTMATCH}>, but for them to be defined, you have to |
704 | 698 | specify the C</p> (preserve) modifier on your regular expression. |
705 | 699 | In Perl 5.20, the use of C<$`>, C<$&> and C<$'> makes no speed difference. |
706 | 700 | |
707 | 701 | =end original |
708 | 702 | |
709 | 703 | まだ Perl 5.18 以前を使っている場合の注意: |
710 | 704 | C<$`>, C<$&>, C<$'> のいずれかを使うと、プログラム中の B<全ての> 正規表現の |
711 | 705 | 速度が低下します。 |
712 | 706 | 速度低下を引き起こさない、等価な表現のためには、L<perlvar> の C<@-> を |
713 | 707 | 調べてみてください。 |
714 | 708 | また、L<Devel::SawAmpersand> も参照してください。 |
715 | 709 | Perl 5.10 から、等価な変数である C<${^PREMATCH}>, C<${^MATCH}>, |
716 | 710 | C<${^POSTMATCH}> も使えますが、これらが定義されるには、正規表現に |
717 | 711 | C</p> (保存(preserve)) 修飾子をつける必要があります。 |
718 | 712 | Perl 5.20 では、C<$`>, C<$&>, C<$'> を使っても速度の違いはありません。 |
719 | 713 | |
720 | 714 | =begin original |
721 | 715 | |
722 | 716 | $1, $2 ... hold the Xth captured expr |
723 | 717 | $+ Last parenthesized pattern match |
724 | 718 | $^N Holds the most recently closed capture |
725 | 719 | $^R Holds the result of the last (?{...}) expr |
726 | 720 | @- Offsets of starts of groups. $-[0] holds start of whole match |
727 | 721 | @+ Offsets of ends of groups. $+[0] holds end of whole match |
728 | 722 | %+ Named capture groups |
729 | 723 | %- Named capture groups, as array refs |
730 | 724 | |
731 | 725 | =end original |
732 | 726 | |
733 | 727 | $1, $2 ... X 番目の捕捉された式を保持します |
734 | 728 | $+ 最後にかっこで囲まれたパターンマッチ |
735 | 729 | $^N 最も近くに閉じた捕捉を保持します |
736 | 730 | $^R 最後の (?{...}) 式の結果を保持します |
737 | 731 | @- グループの先頭からのオフセット。 $-[0] はマッチ全体の先頭です |
738 | 732 | @+ グループの末尾からのオフセット。 $+[0] はマッチ全体の末尾です |
739 | 733 | %+ 名前付き捕捉グループ |
740 | 734 | %- 配列リファレンスとしての名前付き捕捉グループ |
741 | 735 | |
742 | 736 | =begin original |
743 | 737 | |
744 | 738 | Captured groups are numbered according to their I<opening> paren. |
745 | 739 | |
746 | 740 | =end original |
747 | 741 | |
748 | 742 | 捕捉したグループは I<開き> かっこの順番で番号付けされます。 |
749 | 743 | |
750 | 744 | =head2 FUNCTIONS |
751 | 745 | |
752 | 746 | (関数) |
753 | 747 | |
754 | 748 | =begin original |
755 | 749 | |
756 | 750 | lc Lowercase a string |
757 | 751 | lcfirst Lowercase first char of a string |
758 | 752 | uc Uppercase a string |
759 | 753 | ucfirst Titlecase first char of a string |
760 | 754 | fc Foldcase a string |
761 | 755 | |
762 | 756 | =end original |
763 | 757 | |
764 | 758 | lc 文字列を小文字にします |
765 | 759 | lcfirst 文字列の最初の文字を小文字にします |
766 | 760 | uc 文字列を大文字にします |
767 | 761 | ucfirst 文字列の最初の文字を Titlecase にします |
768 | 762 | fc 文字列を畳み込み文字にします |
769 | 763 | |
770 | 764 | =begin original |
771 | 765 | |
772 | 766 | pos Return or set current match position |
773 | 767 | quotemeta Quote metacharacters |
774 | reset Reset ?pattern? status | |
768 | reset Reset m?pattern? status | |
775 | 769 | study Analyze string for optimizing matching |
776 | 770 | |
777 | 771 | =end original |
778 | 772 | |
779 | 773 | pos カレントのマッチ位置を返したり設定したりします |
780 | 774 | quotemeta メタ文字をクォートします |
781 | reset ?pattern? の状態をリセットします | |
775 | reset m?pattern? の状態をリセットします | |
782 | 776 | study マッチングの最適化のために文字列を調べます |
783 | 777 | |
784 | 778 | =begin original |
785 | 779 | |
786 | 780 | split Use a regex to split a string into parts |
787 | 781 | |
788 | 782 | =end original |
789 | 783 | |
790 | 784 | split 文字列を分割するために正規表現を使います |
791 | 785 | |
792 | 786 | =begin original |
793 | 787 | |
794 | 788 | The first five of these are like the escape sequences C<\L>, C<\l>, |
795 | 789 | C<\U>, C<\u>, and C<\F>. For Titlecase, see L</Titlecase>; For |
796 | 790 | Foldcase, see L</Foldcase>. |
797 | 791 | |
798 | 792 | =end original |
799 | 793 | |
800 | 794 | これらの最初の五つは、エスケープシーケンス C<\L>, C<\l>, C<\U>, C<\u>, |
801 | 795 | C<\F> と似ています。 |
802 | 796 | タイトル文字については、L</Titlecase> を参照してください; |
803 | 797 | 畳み込み文字については、L</Foldcase> を参照してください。 |
804 | 798 | |
805 | 799 | =head2 TERMINOLOGY |
806 | 800 | |
807 | 801 | (用語) |
808 | 802 | |
809 | 803 | =head3 Titlecase |
810 | 804 | |
811 | 805 | (タイトル文字) |
812 | 806 | |
813 | 807 | =begin original |
814 | 808 | |
815 | 809 | Unicode concept which most often is equal to uppercase, but for |
816 | 810 | certain characters like the German "sharp s" there is a difference. |
817 | 811 | |
818 | 812 | =end original |
819 | 813 | |
820 | 814 | Unicode の概念で、ほとんどの場合は大文字と同じですが、ドイツ語の |
821 | 815 | "sharp s" のような特定の文字については異なります。 |
822 | 816 | |
823 | 817 | =head3 Foldcase |
824 | 818 | |
825 | 819 | (畳み込み文字) |
826 | 820 | |
827 | 821 | =begin original |
828 | 822 | |
829 | 823 | Unicode form that is useful when comparing strings regardless of case, |
830 | 824 | as certain characters have complex one-to-many case mappings. Primarily a |
831 | 825 | variant of lowercase. |
832 | 826 | |
833 | 827 | =end original |
834 | 828 | |
835 | 829 | 大文字小文字に関わらず文字列を比較するときに有用な Unicode の形式です; |
836 | 830 | ある種の文字は複雑な 1 対多大文字小文字マッピングを持つからです。 |
837 | 831 | 主に小文字の変種です。 |
838 | 832 | |
839 | 833 | =head1 AUTHOR |
840 | 834 | |
841 | 835 | Iain Truskett. Updated by the Perl 5 Porters. |
842 | 836 | |
843 | 837 | This document may be distributed under the same terms as Perl itself. |
844 | 838 | |
845 | 839 | =head1 SEE ALSO |
846 | 840 | |
847 | 841 | =over 4 |
848 | 842 | |
849 | 843 | =item * |
850 | 844 | |
851 | 845 | =begin original |
852 | 846 | |
853 | 847 | L<perlretut> for a tutorial on regular expressions. |
854 | 848 | |
855 | 849 | =end original |
856 | 850 | |
857 | 851 | 正規表現のチュートリアルである L<perlretut>。 |
858 | 852 | |
859 | 853 | =item * |
860 | 854 | |
861 | 855 | =begin original |
862 | 856 | |
863 | 857 | L<perlrequick> for a rapid tutorial. |
864 | 858 | |
865 | 859 | =end original |
866 | 860 | |
867 | 861 | 手っ取り早いチュートリアルである L<perlrequick>。 |
868 | 862 | |
869 | 863 | =item * |
870 | 864 | |
871 | 865 | =begin original |
872 | 866 | |
873 | 867 | L<perlre> for more details. |
874 | 868 | |
875 | 869 | =end original |
876 | 870 | |
877 | 871 | さらなる詳細である L<perlre>。 |
878 | 872 | |
879 | 873 | =item * |
880 | 874 | |
881 | 875 | =begin original |
882 | 876 | |
883 | 877 | L<perlvar> for details on the variables. |
884 | 878 | |
885 | 879 | =end original |
886 | 880 | |
887 | 881 | 変数に関する詳細である L<perlvar>。 |
888 | 882 | |
889 | 883 | =item * |
890 | 884 | |
891 | 885 | =begin original |
892 | 886 | |
893 | 887 | L<perlop> for details on the operators. |
894 | 888 | |
895 | 889 | =end original |
896 | 890 | |
897 | 891 | 演算子の詳細である L<perlop>。 |
898 | 892 | |
899 | 893 | =item * |
900 | 894 | |
901 | 895 | =begin original |
902 | 896 | |
903 | 897 | L<perlfunc> for details on the functions. |
904 | 898 | |
905 | 899 | =end original |
906 | 900 | |
907 | 901 | 関数の詳細である L<perlfunc>。 |
908 | 902 | |
909 | 903 | =item * |
910 | 904 | |
911 | 905 | =begin original |
912 | 906 | |
913 | 907 | L<perlfaq6> for FAQs on regular expressions. |
914 | 908 | |
915 | 909 | =end original |
916 | 910 | |
917 | 911 | 正規表現に関する FAQ である L<perlfaq6>。 |
918 | 912 | |
919 | 913 | =item * |
920 | 914 | |
921 | 915 | =begin original |
922 | 916 | |
923 | 917 | L<perlrebackslash> for a reference on backslash sequences. |
924 | 918 | |
925 | 919 | =end original |
926 | 920 | |
927 | 921 | バックスラッシュシーケンス の参考資料である L<perlrebackslash>。 |
928 | 922 | |
929 | 923 | =item * |
930 | 924 | |
931 | 925 | =begin original |
932 | 926 | |
933 | 927 | L<perlrecharclass> for a reference on character classes. |
934 | 928 | |
935 | 929 | =end original |
936 | 930 | |
937 | 931 | 文字クラスの参考資料である L<perlrecharclass>。 |
938 | 932 | |
939 | 933 | =item * |
940 | 934 | |
941 | 935 | =begin original |
942 | 936 | |
943 | 937 | The L<re> module to alter behaviour and aid |
944 | 938 | debugging. |
945 | 939 | |
946 | 940 | =end original |
947 | 941 | |
948 | 942 | 振る舞いの変更とデバッグの補助のための L<re> モジュール。 |
949 | 943 | |
950 | 944 | =item * |
951 | 945 | |
952 | 946 | L<perldebug/"Debugging Regular Expressions"> |
953 | 947 | |
954 | 948 | =item * |
955 | 949 | |
956 | 950 | =begin original |
957 | 951 | |
958 | 952 | L<perluniintro>, L<perlunicode>, L<charnames> and L<perllocale> |
959 | 953 | for details on regexes and internationalisation. |
960 | 954 | |
961 | 955 | =end original |
962 | 956 | |
963 | 957 | 正規表現や国際化に関する詳細である L<perluniintro>, L<perlunicode>, |
964 | 958 | L<charnames>, L<perllocale>。 |
965 | 959 | |
966 | 960 | =item * |
967 | 961 | |
968 | 962 | =begin original |
969 | 963 | |
970 | 964 | I<Mastering Regular Expressions> by Jeffrey Friedl |
971 | ( | |
965 | (L<http://oreilly.com/catalog/9780596528126/>) for a thorough grounding and | |
972 | 966 | reference on the topic. |
973 | 967 | |
974 | 968 | =end original |
975 | 969 | |
976 | 970 | この話題に関する完全な背景と参考資料である |
977 | 971 | Jeffrey Friedl による書籍 I<Mastering Regular Expressions> |
978 | ( | |
972 | (L<http://oreilly.com/catalog/9780596528126/>) | |
979 | 973 | (O'Reillyから出版: ISBN 1556592-257-3) |
980 | 974 | (日本語版は「詳説 正規表現」ISBN4-87311-130-7 (第二版のもの))。 |
981 | 975 | |
982 | 976 | =back |
983 | 977 | |
984 | 978 | =head1 THANKS |
985 | 979 | |
986 | 980 | David P.C. Wollmann, |
987 | 981 | Richard Soderberg, |
988 | 982 | Sean M. Burke, |
989 | 983 | Tom Christiansen, |
990 | 984 | Jim Cromie, |
991 | 985 | and |
992 | 986 | Jeffrey Goff |
993 | 987 | for useful advice. |
994 | 988 | |
995 | 989 | =cut |
996 | 990 | |
997 | 991 | =begin meta |
998 | 992 | |
999 | 993 | Translate: KIMURA Koichi |
1000 | 994 | Update: SHIRAKATA Kentaro <argrath@ub32.org> (5.10.0-) |
1001 | 995 | Status: completed |
1002 | 996 | |
1003 | 997 | =end meta |