Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / regex / doc / html / boost_regex / ref / syntax_option_type / syntax_option_type_perl.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Options for Perl Regular Expressions</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.3">
8 <link rel="up" href="../syntax_option_type.html" title="syntax_option_type">
9 <link rel="prev" href="syntax_option_type_overview.html" title="Overview of syntax_option_type">
10 <link rel="next" href="syntax_option_type_extended.html" title="Options for POSIX Extended Regular Expressions">
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="syntax_option_type_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../syntax_option_type.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="syntax_option_type_extended.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="boost_regex.ref.syntax_option_type.syntax_option_type_perl"></a><a class="link" href="syntax_option_type_perl.html" title="Options for Perl Regular Expressions">Options
28         for Perl Regular Expressions</a>
29 </h4></div></div></div>
30 <p>
31           One of the following must always be set for perl regular expressions:
32         </p>
33 <div class="informaltable"><table class="table">
34 <colgroup>
35 <col>
36 <col>
37 <col>
38 </colgroup>
39 <thead><tr>
40 <th>
41                   <p>
42                     Element
43                   </p>
44                 </th>
45 <th>
46                   <p>
47                     Standardized
48                   </p>
49                 </th>
50 <th>
51                   <p>
52                     Effect when set
53                   </p>
54                 </th>
55 </tr></thead>
56 <tbody>
57 <tr>
58 <td>
59                   <p>
60                     ECMAScript
61                   </p>
62                 </td>
63 <td>
64                   <p>
65                     Yes
66                   </p>
67                 </td>
68 <td>
69                   <p>
70                     Specifies that the grammar recognized by the regular expression
71                     engine uses its normal semantics: that is the same as that given
72                     in the ECMA-262, ECMAScript Language Specification, Chapter 15
73                     part 10, RegExp (Regular Expression) Objects (FWD.1).
74                   </p>
75                   <p>
76                     This is functionally identical to the <a class="link" href="../../syntax/perl_syntax.html" title="Perl Regular Expression Syntax">Perl
77                     regular expression syntax</a>.
78                   </p>
79                   <p>
80                     Boost.Regex also recognizes all of the perl-compatible <code class="computeroutput"><span class="special">(?...)</span></code> extensions in this mode.
81                   </p>
82                 </td>
83 </tr>
84 <tr>
85 <td>
86                   <p>
87                     perl
88                   </p>
89                 </td>
90 <td>
91                   <p>
92                     No
93                   </p>
94                 </td>
95 <td>
96                   <p>
97                     As above.
98                   </p>
99                 </td>
100 </tr>
101 <tr>
102 <td>
103                   <p>
104                     normal
105                   </p>
106                 </td>
107 <td>
108                   <p>
109                     No
110                   </p>
111                 </td>
112 <td>
113                   <p>
114                     As above.
115                   </p>
116                 </td>
117 </tr>
118 <tr>
119 <td>
120                   <p>
121                     JavaScript
122                   </p>
123                 </td>
124 <td>
125                   <p>
126                     No
127                   </p>
128                 </td>
129 <td>
130                   <p>
131                     As above.
132                   </p>
133                 </td>
134 </tr>
135 <tr>
136 <td>
137                   <p>
138                     JScript
139                   </p>
140                 </td>
141 <td>
142                   <p>
143                     No
144                   </p>
145                 </td>
146 <td>
147                   <p>
148                     As above.
149                   </p>
150                 </td>
151 </tr>
152 </tbody>
153 </table></div>
154 <p>
155           The following options may also be set when using perl-style regular expressions:
156         </p>
157 <div class="informaltable"><table class="table">
158 <colgroup>
159 <col>
160 <col>
161 <col>
162 </colgroup>
163 <thead><tr>
164 <th>
165                   <p>
166                     Element
167                   </p>
168                 </th>
169 <th>
170                   <p>
171                     Standardized
172                   </p>
173                 </th>
174 <th>
175                   <p>
176                     Effect when set
177                   </p>
178                 </th>
179 </tr></thead>
180 <tbody>
181 <tr>
182 <td>
183                   <p>
184                     icase
185                   </p>
186                 </td>
187 <td>
188                   <p>
189                     Yes
190                   </p>
191                 </td>
192 <td>
193                   <p>
194                     Specifies that matching of regular expressions against a character
195                     container sequence shall be performed without regard to case.
196                   </p>
197                 </td>
198 </tr>
199 <tr>
200 <td>
201                   <p>
202                     nosubs
203                   </p>
204                 </td>
205 <td>
206                   <p>
207                     Yes
208                   </p>
209                 </td>
210 <td>
211                   <p>
212                     Specifies that when a regular expression is matched against a
213                     character container sequence, then no sub-expression matches
214                     are to be stored in the supplied <a class="link" href="../match_results.html" title="match_results"><code class="computeroutput"><span class="identifier">match_results</span></code></a> structure.
215                   </p>
216                 </td>
217 </tr>
218 <tr>
219 <td>
220                   <p>
221                     optimize
222                   </p>
223                 </td>
224 <td>
225                   <p>
226                     Yes
227                   </p>
228                 </td>
229 <td>
230                   <p>
231                     Specifies that the regular expression engine should pay more
232                     attention to the speed with which regular expressions are matched,
233                     and less to the speed with which regular expression objects are
234                     constructed. Otherwise it has no detectable effect on the program
235                     output. This currently has no effect for Boost.Regex.
236                   </p>
237                 </td>
238 </tr>
239 <tr>
240 <td>
241                   <p>
242                     collate
243                   </p>
244                 </td>
245 <td>
246                   <p>
247                     Yes
248                   </p>
249                 </td>
250 <td>
251                   <p>
252                     Specifies that character ranges of the form <code class="computeroutput"><span class="special">[</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">b</span><span class="special">]</span></code>
253                     should be locale sensitive.
254                   </p>
255                 </td>
256 </tr>
257 <tr>
258 <td>
259                   <p>
260                     newline_alt
261                   </p>
262                 </td>
263 <td>
264                   <p>
265                     No
266                   </p>
267                 </td>
268 <td>
269                   <p>
270                     Specifies that the \n character has the same effect as the alternation
271                     operator |. Allows newline separated lists to be used as a list
272                     of alternatives.
273                   </p>
274                 </td>
275 </tr>
276 <tr>
277 <td>
278                   <p>
279                     no_except
280                   </p>
281                 </td>
282 <td>
283                   <p>
284                     No
285                   </p>
286                 </td>
287 <td>
288                   <p>
289                     Prevents <a class="link" href="../basic_regex.html" title="basic_regex"><code class="computeroutput"><span class="identifier">basic_regex</span></code></a> from throwing
290                     an exception when an invalid expression is encountered.
291                   </p>
292                 </td>
293 </tr>
294 <tr>
295 <td>
296                   <p>
297                     no_mod_m
298                   </p>
299                 </td>
300 <td>
301                   <p>
302                     No
303                   </p>
304                 </td>
305 <td>
306                   <p>
307                     Normally Boost.Regex behaves as if the Perl m-modifier is on:
308                     so the assertions ^ and $ match after and before embedded newlines
309                     respectively, setting this flags is equivalent to prefixing the
310                     expression with (?-m).
311                   </p>
312                 </td>
313 </tr>
314 <tr>
315 <td>
316                   <p>
317                     no_mod_s
318                   </p>
319                 </td>
320 <td>
321                   <p>
322                     No
323                   </p>
324                 </td>
325 <td>
326                   <p>
327                     Normally whether Boost.Regex will match "." against
328                     a newline character is determined by the match flag <code class="computeroutput"><span class="identifier">match_dot_not_newline</span></code>. Specifying
329                     this flag is equivalent to prefixing the expression with <code class="computeroutput"><span class="special">(?-</span><span class="identifier">s</span><span class="special">)</span></code> and therefore causes "."
330                     not to match a newline character regardless of whether <code class="computeroutput"><span class="identifier">match_not_dot_newline</span></code> is set
331                     in the match flags.
332                   </p>
333                 </td>
334 </tr>
335 <tr>
336 <td>
337                   <p>
338                     mod_s
339                   </p>
340                 </td>
341 <td>
342                   <p>
343                     No
344                   </p>
345                 </td>
346 <td>
347                   <p>
348                     Normally whether Boost.Regex will match "." against
349                     a newline character is determined by the match flag <code class="computeroutput"><span class="identifier">match_dot_not_newline</span></code>. Specifying
350                     this flag is equivalent to prefixing the expression with <code class="computeroutput"><span class="special">(?</span><span class="identifier">s</span><span class="special">)</span></code> and therefore causes "."
351                     to match a newline character regardless of whether <code class="computeroutput"><span class="identifier">match_not_dot_newline</span></code> is set
352                     in the match flags.
353                   </p>
354                 </td>
355 </tr>
356 <tr>
357 <td>
358                   <p>
359                     mod_x
360                   </p>
361                 </td>
362 <td>
363                   <p>
364                     No
365                   </p>
366                 </td>
367 <td>
368                   <p>
369                     Turns on the perl x-modifier: causes unescaped whitespace in
370                     the expression to be ignored.
371                   </p>
372                 </td>
373 </tr>
374 <tr>
375 <td>
376                   <p>
377                     no_empty_expressions
378                   </p>
379                 </td>
380 <td>
381                   <p>
382                     No
383                   </p>
384                 </td>
385 <td>
386                   <p>
387                     When set then empty expressions/alternatives are prohibited.
388                   </p>
389                 </td>
390 </tr>
391 <tr>
392 <td>
393                   <p>
394                     save_subexpression_location
395                   </p>
396                 </td>
397 <td>
398                   <p>
399                     No
400                   </p>
401                 </td>
402 <td>
403                   <p>
404                     When set then the locations of individual sub-expressions within
405                     the <span class="emphasis"><em>original regular expression string</em></span> can
406                     be accessed via the <a class="link" href="../basic_regex.html#boost_regex.basic_regex.subexpression"><code class="computeroutput"><span class="identifier">subexpression</span><span class="special">()</span></code></a>
407                     member function of <code class="computeroutput"><span class="identifier">basic_regex</span></code>.
408                   </p>
409                 </td>
410 </tr>
411 </tbody>
412 </table></div>
413 </div>
414 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
415 <td align="left"></td>
416 <td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
417         Distributed under the Boost Software License, Version 1.0. (See accompanying
418         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>)
419       </p>
420 </div></td>
421 </tr></table>
422 <hr>
423 <div class="spirit-nav">
424 <a accesskey="p" href="syntax_option_type_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../syntax_option_type.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="syntax_option_type_extended.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
425 </div>
426 </body>
427 </html>