Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / regex / doc / html / boost_regex / format / perl_format.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Perl Format String Syntax</title>
5 <link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../index.html" title="Boost.Regex 5.1.4">
8 <link rel="up" href="../format.html" title="Search and Replace Format String Syntax">
9 <link rel="prev" href="sed_format.html" title="Sed Format String Syntax">
10 <link rel="next" href="boost_format_syntax.html" title="Boost-Extended Format String Syntax">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="sed_format.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../format.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_format_syntax.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_regex.format.perl_format"></a><a class="link" href="perl_format.html" title="Perl Format String Syntax">Perl Format String Syntax</a>
28 </h3></div></div></div>
29 <p>
30         Perl-style format strings treat all characters as literals except '$' and
31         '\' which start placeholder and escape sequences respectively.
32       </p>
33 <p>
34         Placeholder sequences specify that some part of what matched the regular
35         expression should be sent to output as follows:
36       </p>
37 <div class="informaltable"><table class="table">
38 <colgroup>
39 <col>
40 <col>
41 </colgroup>
42 <thead><tr>
43 <th>
44                 <p>
45                   Placeholder
46                 </p>
47               </th>
48 <th>
49                 <p>
50                   Meaning
51                 </p>
52               </th>
53 </tr></thead>
54 <tbody>
55 <tr>
56 <td>
57                 <p>
58                   $&amp;
59                 </p>
60               </td>
61 <td>
62                 <p>
63                   Outputs what matched the whole expression.
64                 </p>
65               </td>
66 </tr>
67 <tr>
68 <td>
69                 <p>
70                   $MATCH
71                 </p>
72               </td>
73 <td>
74                 <p>
75                   As $&amp;
76                 </p>
77               </td>
78 </tr>
79 <tr>
80 <td>
81                 <p>
82                   ${^MATCH}
83                 </p>
84               </td>
85 <td>
86                 <p>
87                   As $&amp;
88                 </p>
89               </td>
90 </tr>
91 <tr>
92 <td>
93                 <p>
94                   $`
95                 </p>
96               </td>
97 <td>
98                 <p>
99                   Outputs the text between the end of the last match found (or the
100                   start of the text if no previous match was found), and the start
101                   of the current match.
102                 </p>
103               </td>
104 </tr>
105 <tr>
106 <td>
107                 <p>
108                   $PREMATCH
109                 </p>
110               </td>
111 <td>
112                 <p>
113                   As $`
114                 </p>
115               </td>
116 </tr>
117 <tr>
118 <td>
119                 <p>
120                   ${^PREMATCH}
121                 </p>
122               </td>
123 <td>
124                 <p>
125                   As $`
126                 </p>
127               </td>
128 </tr>
129 <tr>
130 <td>
131                 <p>
132                   $'
133                 </p>
134               </td>
135 <td>
136                 <p>
137                   Outputs all the text following the end of the current match.
138                 </p>
139               </td>
140 </tr>
141 <tr>
142 <td>
143                 <p>
144                   $POSTMATCH
145                 </p>
146               </td>
147 <td>
148                 <p>
149                   As $'
150                 </p>
151               </td>
152 </tr>
153 <tr>
154 <td>
155                 <p>
156                   ${^POSTMATCH}
157                 </p>
158               </td>
159 <td>
160                 <p>
161                   As $'
162                 </p>
163               </td>
164 </tr>
165 <tr>
166 <td>
167                 <p>
168                   $+
169                 </p>
170               </td>
171 <td>
172                 <p>
173                   Outputs what matched the last marked sub-expression in the regular
174                   expression.
175                 </p>
176               </td>
177 </tr>
178 <tr>
179 <td>
180                 <p>
181                   $LAST_PAREN_MATCH
182                 </p>
183               </td>
184 <td>
185                 <p>
186                   As $+
187                 </p>
188               </td>
189 </tr>
190 <tr>
191 <td>
192                 <p>
193                   $LAST_SUBMATCH_RESULT
194                 </p>
195               </td>
196 <td>
197                 <p>
198                   Outputs what matched the last sub-expression to be actually matched.
199                 </p>
200               </td>
201 </tr>
202 <tr>
203 <td>
204                 <p>
205                   $^N
206                 </p>
207               </td>
208 <td>
209                 <p>
210                   As $LAST_SUBMATCH_RESULT
211                 </p>
212               </td>
213 </tr>
214 <tr>
215 <td>
216                 <p>
217                   $$
218                 </p>
219               </td>
220 <td>
221                 <p>
222                   Outputs a literal '$'
223                 </p>
224               </td>
225 </tr>
226 <tr>
227 <td>
228                 <p>
229                   $n
230                 </p>
231               </td>
232 <td>
233                 <p>
234                   Outputs what matched the n'th sub-expression.
235                 </p>
236               </td>
237 </tr>
238 <tr>
239 <td>
240                 <p>
241                   ${n}
242                 </p>
243               </td>
244 <td>
245                 <p>
246                   Outputs what matched the n'th sub-expression.
247                 </p>
248               </td>
249 </tr>
250 <tr>
251 <td>
252                 <p>
253                   $+{NAME}
254                 </p>
255               </td>
256 <td>
257                 <p>
258                   Outputs whatever matched the sub-expression named "NAME".
259                 </p>
260               </td>
261 </tr>
262 </tbody>
263 </table></div>
264 <p>
265         Any $-placeholder sequence not listed above, results in '$' being treated
266         as a literal.
267       </p>
268 <p>
269         An escape character followed by any character x, outputs that character unless
270         x is one of the escape sequences shown below.
271       </p>
272 <div class="informaltable"><table class="table">
273 <colgroup>
274 <col>
275 <col>
276 </colgroup>
277 <thead><tr>
278 <th>
279                 <p>
280                   Escape
281                 </p>
282               </th>
283 <th>
284                 <p>
285                   Meaning
286                 </p>
287               </th>
288 </tr></thead>
289 <tbody>
290 <tr>
291 <td>
292                 <p>
293                   \a
294                 </p>
295               </td>
296 <td>
297                 <p>
298                   Outputs the bell character: '\a'.
299                 </p>
300               </td>
301 </tr>
302 <tr>
303 <td>
304                 <p>
305                   \e
306                 </p>
307               </td>
308 <td>
309                 <p>
310                   Outputs the ANSI escape character (code point 27).
311                 </p>
312               </td>
313 </tr>
314 <tr>
315 <td>
316                 <p>
317                   \f
318                 </p>
319               </td>
320 <td>
321                 <p>
322                   Outputs a form feed character: '\f'
323                 </p>
324               </td>
325 </tr>
326 <tr>
327 <td>
328                 <p>
329                   \n
330                 </p>
331               </td>
332 <td>
333                 <p>
334                   Outputs a newline character: '\n'.
335                 </p>
336               </td>
337 </tr>
338 <tr>
339 <td>
340                 <p>
341                   \r
342                 </p>
343               </td>
344 <td>
345                 <p>
346                   Outputs a carriage return character: '\r'.
347                 </p>
348               </td>
349 </tr>
350 <tr>
351 <td>
352                 <p>
353                   \t
354                 </p>
355               </td>
356 <td>
357                 <p>
358                   Outputs a tab character: '\t'.
359                 </p>
360               </td>
361 </tr>
362 <tr>
363 <td>
364                 <p>
365                   \v
366                 </p>
367               </td>
368 <td>
369                 <p>
370                   Outputs a vertical tab character: '\v'.
371                 </p>
372               </td>
373 </tr>
374 <tr>
375 <td>
376                 <p>
377                   \xDD
378                 </p>
379               </td>
380 <td>
381                 <p>
382                   Outputs the character whose hexadecimal code point is 0xDD
383                 </p>
384               </td>
385 </tr>
386 <tr>
387 <td>
388                 <p>
389                   \x{DDDD}
390                 </p>
391               </td>
392 <td>
393                 <p>
394                   Outputs the character whose hexadecimal code point is 0xDDDDD
395                 </p>
396               </td>
397 </tr>
398 <tr>
399 <td>
400                 <p>
401                   \cX
402                 </p>
403               </td>
404 <td>
405                 <p>
406                   Outputs the ANSI escape sequence "escape-X".
407                 </p>
408               </td>
409 </tr>
410 <tr>
411 <td>
412                 <p>
413                   \D
414                 </p>
415               </td>
416 <td>
417                 <p>
418                   If D is a decimal digit in the range 1-9, then outputs the text
419                   that matched sub-expression D.
420                 </p>
421               </td>
422 </tr>
423 <tr>
424 <td>
425                 <p>
426                   \l
427                 </p>
428               </td>
429 <td>
430                 <p>
431                   Causes the next character to be outputted, to be output in lower
432                   case.
433                 </p>
434               </td>
435 </tr>
436 <tr>
437 <td>
438                 <p>
439                   \u
440                 </p>
441               </td>
442 <td>
443                 <p>
444                   Causes the next character to be outputted, to be output in upper
445                   case.
446                 </p>
447               </td>
448 </tr>
449 <tr>
450 <td>
451                 <p>
452                   \L
453                 </p>
454               </td>
455 <td>
456                 <p>
457                   Causes all subsequent characters to be output in lower case, until
458                   a \E is found.
459                 </p>
460               </td>
461 </tr>
462 <tr>
463 <td>
464                 <p>
465                   \U
466                 </p>
467               </td>
468 <td>
469                 <p>
470                   Causes all subsequent characters to be output in upper case, until
471                   a \E is found.
472                 </p>
473               </td>
474 </tr>
475 <tr>
476 <td>
477                 <p>
478                   \E
479                 </p>
480               </td>
481 <td>
482                 <p>
483                   Terminates a \L or \U sequence.
484                 </p>
485               </td>
486 </tr>
487 </tbody>
488 </table></div>
489 </div>
490 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
491 <td align="left"></td>
492 <td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
493         Distributed under the Boost Software License, Version 1.0. (See accompanying
494         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
495       </p>
496 </div></td>
497 </tr></table>
498 <hr>
499 <div class="spirit-nav">
500 <a accesskey="p" href="sed_format.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../format.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_format_syntax.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
501 </div>
502 </body>
503 </html>