diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 99b7fbc6..b5d3b485 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -28,7 +28,7 @@ Example Programs
<boost/regex/user.hpp>
.
@@ -36,7 +36,7 @@ Report on C++ Library Extensions.
@@ -62,7 +62,7 @@ (??{code}) Not implementable in a compiled strongly typed language.
@@ -82,7 +82,7 @@ a custom traits class.
diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 7ebc73c3..c4dcc347 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -35,7 +35,7 @@ accessed.
@@ -218,7 +218,7 @@ output stream.
@@ -231,7 +231,7 @@
you can determine which sub-expressions matched by accessing the sub_match::matched
data member.
diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 12dd9109..809f2205 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.
@@ -40,7 +40,7 @@ you want a to output literal parenthesis.
@@ -66,7 +66,7 @@ with "bar" otherwise.
@@ -58,7 +58,7 @@ started guide for more information.
@@ -302,7 +302,7 @@ see the config library documentation.
@@ -347,7 +347,7 @@ will build v9 variants of the regex library named libboost_regex_v9.a etc.
#include <boost/pattern_except.hpp> @@ -54,7 +54,7 @@ } // namespace boost
regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos); diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 30cb5969..a0c13601 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -27,7 +27,7 @@ basic_regex- + Synopsis
#include <boost/regex.hpp> @@ -244,7 +244,7 @@ } // namespace boost- + Description
@@ -327,7 +327,7 @@
basic_regex
.-Table 1. basic_regex default construction postconditions
+Table 1. basic_regex default construction postconditions
@@ -407,7 +407,7 @@ flags specified in f. -Table 2. Postconditions for basic_regex construction
+Table 2. Postconditions for basic_regex construction
@@ -512,7 +512,7 @@ specified in f. -Table 3. Postconditions for basic_regex construction
+Table 3. Postconditions for basic_regex construction
@@ -616,7 +616,7 @@ according the option flags specified in f. -Table 4. Postconditions for basic_regex construction
+Table 4. Postconditions for basic_regex construction
@@ -727,7 +727,7 @@ flags specified in f. -Table 5. Postconditions for basic_regex construction
+Table 5. Postconditions for basic_regex construction
@@ -829,7 +829,7 @@ flags specified in f. -Table 6. Postconditions for basic_regex construction
+Table 6. Postconditions for basic_regex construction
@@ -1043,7 +1043,7 @@ in f. -Table 7. Postconditions for basic_regex::assign
+Table 7. Postconditions for basic_regex::assign
diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index ad23e706..fe4b0274 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -34,7 +34,7 @@ Boost-specific enhanced interface. - + Minimal requirements.
@@ -381,7 +381,7 @@- + Additional Optional Requirements
diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html index 02829968..70fae8b1 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -34,7 +34,7 @@ previous version of Boost.Regex and will not be further updated:- + Algorithm regex_format
diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index baa2636a..7fb8bbe7 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -27,7 +27,7 @@ error_type- + Synopsis
@@ -57,7 +57,7 @@ } // namespace boost
- + Description
diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index 8ee8482a..dfbdfdc1 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -69,7 +69,7 @@ } // namespace boost
- + Description
diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 94438118..7961ad1e 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -27,7 +27,7 @@ match_results
- + Synopsis
#include <boost/regex.hpp> @@ -142,7 +142,7 @@ match_results<BidirectionalIterator, Allocator>& m2);- + Description
diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index ca7dd081..f7379cd2 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -43,7 +43,7 @@ on to the "real" algorithm.
- + u32regex_match
- + u32regex_search
- + u32regex_replace
diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index be77c195..6f432bd3 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -28,7 +28,7 @@ Unicode Aware Regex Iterators
- + u32regex_iterator
@@ -126,7 +126,7 @@ Provided of course that the input is encoded as UTF-8.
- + u32regex_token_iterator
diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index 7bb1c915..49195299 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -34,7 +34,7 @@ here they are anyway:
- + regex_match
- + regex_match (second overload)
@@ -110,7 +110,7 @@ }- + regex_search
- + regex_search (second overload)
@@ -164,7 +164,7 @@ + s.GetLength(), e, f);- + regex_replace
diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index a6c18255..8286c553 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -32,7 +32,7 @@ an MFC/ATL string to a
regex_iterator
orregex_token_iterator
:- + regex_iterator creation helper
@@ -68,7 +68,7 @@ }- + regex_token_iterator creation helpers
diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index f9b28b98..44ead2e9 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -165,7 +165,7 @@
- + regcomp
- + regerror
- + regexec
- + regfree
diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index a3c9d35c..ba71a9af 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -78,7 +78,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);
- + Description
@@ -436,7 +436,7 @@ m.
- + Examples
diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 72e113b4..5ce57f3c 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -80,7 +80,7 @@ match_flag_type flags = match_default);
- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits> @@ -360,7 +360,7 @@ Effects: Returns the result ofregex_match(s.begin(), s.end(), e, flags)
.- + Examples
diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index 72e84c91..f25d7aab 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -53,7 +53,7 @@ match_flag_type flags = match_default);
- + Description
template <class OutputIterator, class BidirectionalIterator, class traits, class charT> @@ -163,7 +163,7 @@ and then returnsresult
.- + Examples
diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 8c10b0ec..cefe95b9 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -73,7 +73,7 @@ match_flag_type flags = match_default);
- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits> @@ -355,7 +355,7 @@ Effects: Returns the result ofregex_search(s.begin(), s.end(), e, flags)
.- + Examples
diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index 14dedba1..fbd5e0e5 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -136,7 +136,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);
- + Description
@@ -383,7 +383,7 @@ m.
- + Examples
diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 04a84d31..16ac10d0 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -46,7 +46,7 @@ } // namespace boost
- + Description
diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index 98bd6f93..18629564 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -329,11 +329,11 @@ } // namespace boost
- + Description
- + Members
- + sub_match non-member operators
@@ -1008,7 +1008,7 @@ + m2.str().- + Stream inserter
diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index d970baf0..6f13adaa 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -28,7 +28,7 @@ Expression Syntax
- + Synopsis
- + POSIX Extended Syntax
@@ -56,7 +56,7 @@.[{()\*+?|^$- + Wildcard:
- + Anchors:
@@ -86,7 +86,7 @@ of an expression, or the last character of a sub-expression.
- + Marked sub-expressions:
@@ -98,7 +98,7 @@ to by a back-reference.- + Repeats:
@@ -184,7 +184,7 @@ cab operator to be applied to.
- + Back references:
@@ -214,7 +214,7 @@ cab
- + Alternation
@@ -227,7 +227,7 @@ cab will match either of "abd" or "abef".
- + Character sets:
@@ -240,7 +240,7 @@ cab A bracket expression may contain any combination of the following:- + Single characters:
@@ -249,7 +249,7 @@ cab or 'c'.- + Character ranges:
@@ -265,7 +265,7 @@ cab the code points of the characters only.- + Negation:
@@ -274,7 +274,7 @@ cab range
a-c
.- + Character classes:
@@ -284,7 +284,7 @@ cab character class names.- + Collating Elements:
@@ -312,7 +312,7 @@ cab matches a NUL character.- + Equivalence classes:
@@ -329,7 +329,7 @@ cab or even all locales on one platform.- + Combinations:
@@ -337,7 +337,7 @@ cab
[[:digit:]a-c[.NUL.]]
.- + Escapes
@@ -363,7 +363,7 @@ cab extensions are also supported by Boost.Regex:
- + Escapes matching a specific character
@@ -552,7 +552,7 @@ cab- + "Single character" character classes:
@@ -706,7 +706,7 @@ cab- + Character Properties
@@ -813,7 +813,7 @@ cab matches any "digit" character, as does\p{digit}
.- + Word Boundaries
@@ -888,7 +888,7 @@ cab
- + Buffer boundaries
@@ -979,7 +979,7 @@ cab- + Continuation Escape
@@ -991,7 +991,7 @@ cab match to start where the last one ended.- + Quoting escape
@@ -1005,7 +1005,7 @@ cab \*+aaa- + Unicode escapes
@@ -1056,7 +1056,7 @@ cab- + Any other escape
@@ -1065,7 +1065,7 @@ cab \@ matches a literal '@'.- + Operator precedence
@@ -1101,7 +1101,7 @@ cab- + What Gets Matched
@@ -1111,11 +1111,11 @@ cab rule.- + Variations
- + Egrep
@@ -1136,7 +1136,7 @@ cab used with the -E option.
- + awk
@@ -1150,7 +1150,7 @@ cab these by default anyway.
- + Options
@@ -1163,7 +1163,7 @@ cab modify how the case and locale sensitivity are to be applied.
- + References
diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 72f216b8..8de6b127 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -28,7 +28,7 @@ Expression Syntax
- + Synopsis
- + POSIX Basic Syntax
@@ -55,7 +55,7 @@.[\*^$- + Wildcard:
- + Anchors:
@@ -85,7 +85,7 @@ of an expression, or the last character of a sub-expression.
- + Marked sub-expressions:
@@ -97,7 +97,7 @@ by a back-reference.- + Repeats:
@@ -155,7 +155,7 @@ aaaa to.
- + Back references:
@@ -173,7 +173,7 @@ aaaa
aaabba- + Character sets:
@@ -186,7 +186,7 @@ aaaa A bracket expression may contain any combination of the following:- + Single characters:
@@ -195,7 +195,7 @@ aaaa or 'c'.- + Character ranges:
@@ -211,7 +211,7 @@ aaaa of the characters only.- + Negation:
@@ -220,7 +220,7 @@ aaaa range a-c.
- + Character classes:
@@ -230,7 +230,7 @@ aaaa character class names.- + Collating Elements:
@@ -259,7 +259,7 @@ aaaa element names.- + Equivalence classes:
@@ -276,7 +276,7 @@ aaaa or even all locales on one platform.- + Combinations:
@@ -284,7 +284,7 @@ aaaa
[[:digit:]a-c[.NUL.]].
- + Escapes
@@ -299,7 +299,7 @@ aaaa will match either a literal '\' or a '^'.
- + What Gets Matched
@@ -309,13 +309,13 @@ aaaa rule.- + Variations
- + Grep
@@ -333,7 +333,7 @@ aaaa As its name suggests, this behavior is consistent with the Unix utility grep.
- + emacs
@@ -613,7 +613,7 @@ aaaa leftmost-longest rule.
- + Options
@@ -627,7 +627,7 @@ aaaa options modify how the case and locale sensitivity are to be applied.
- + References
diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 88b5fdb0..c97738cf 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -28,15 +28,13 @@ Syntax
- + Synopsis
The Perl regular expression syntax is based on that used by the programming language Perl . Perl regular expressions are the default behavior in Boost.Regex - or you can pass the flag
perl
- to thebasic_regex
- constructor, for example: + or you can pass the flagperl
to thebasic_regex
constructor, for example:// e1 is a case sensitive Perl regular expression: // since Perl is the default option there's no need to explicitly specify the syntax used here: @@ -45,7 +43,7 @@ boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);- + Perl Regular Expression Syntax
@@ -55,7 +53,7 @@.[{()\*+?|^$- + Wildcard
@@ -65,17 +63,17 @@
- The NULL character when the flag -
match_not_dot_null
- is passed to the matching algorithms. +match_not_dot_null
is passed to the matching + algorithms.- The newline character when the flag -
match_not_dot_newline
- is passed to the matching algorithms. +match_not_dot_newline
is passed to the matching + algorithms.- + Anchors
@@ -85,19 +83,18 @@ A '$' character shall match the end of a line.
- + Marked sub-expressions
- A section beginning
(
and ending -)
acts as a marked sub-expression. - Whatever matched the sub-expression is split out in a separate field by the - matching algorithms. Marked sub-expressions can also repeated, or referred - to by a back-reference. + A section beginning(
and ending)
+ acts as a marked sub-expression. Whatever matched the sub-expression is split + out in a separate field by the matching algorithms. Marked sub-expressions + can also repeated, or referred to by a back-reference.- + Non-marking grouping
@@ -105,34 +102,32 @@ A marked sub-expression is useful to lexically group part of a regular expression, but has the side-effect of spitting out an extra field in the result. As an alternative you can lexically group part of a regular expression, without - generating a marked sub-expression by using(?:
- and)
, for example(?:ab)+
- will repeatab
without splitting - out any separate sub-expressions. + generating a marked sub-expression by using(?:
and)
+ , for example(?:ab)+
will repeatab
+ without splitting out any separate sub-expressions.- + Repeats
Any atom (a single character, a marked sub-expression, or a character class) - can be repeated with the
*
, -+
,?
, - and{}
operators. + can be repeated with the*
,+
,?
, + and{}
operators.- The
*
operator will match the - preceding atom zero or more times, for example the expressiona*b
- will match any of the following: + The*
operator will match the preceding atom zero or more + times, for example the expressiona*b
will match any of + the following:b ab aaaaaaaab- The
+
operator will match the - preceding atom one or more times, for example the expressiona+b
- will match any of the following: + The+
operator will match the preceding atom one or more + times, for example the expressiona+b
will match any of + the following:ab aaaaaaaab @@ -143,9 +138,8 @@b
- The
?
operator will match the - preceding atom zero or one times, for example the expression ca?b will match - any of the following: + The?
operator will match the preceding atom zero or one + times, for example the expression ca?b will match any of the following:cb cab @@ -159,16 +153,13 @@ An atom can also be repeated with a bounded repeat:-
a{n}
Matches - 'a' repeated exactly n times. +a{n}
Matches 'a' repeated exactly n times.-
a{n,}
Matches - 'a' repeated n or more times. +a{n,}
Matches 'a' repeated n or more times.-
a{n, m}
Matches 'a' repeated between n and m times - inclusive. +a{n, m}
Matches 'a' repeated between n and m times inclusive.For example: @@ -193,11 +184,11 @@
a(*)- Will raise an error, as there is nothing for the
*
- operator to be applied to. + Will raise an error, as there is nothing for the*
operator + to be applied to.- + Non greedy repeats
@@ -207,28 +198,27 @@ that will consume as little input as possible while still producing a match.-
*?
Matches the previous atom - zero or more times, while consuming as little input as possible. +*?
Matches the previous atom zero or more times, while + consuming as little input as possible.-
+?
Matches the previous atom - one or more times, while consuming as little input as possible. ++?
Matches the previous atom one or more times, while + consuming as little input as possible.-
??
Matches the previous atom - zero or one times, while consuming as little input as possible. +??
Matches the previous atom zero or one times, while + consuming as little input as possible.-
+{n,}?
Matches the previous atom n or more times, +{n,}?
Matches the previous atom n or more times, while + consuming as little input as possible. ++
-{n,m}?
Matches the previous atom between n and m times, while consuming as little input as possible.-
{n,m}?
- Matches the previous atom between n and m times, while consuming as little - input as possible. -- + Pocessive repeats
@@ -240,27 +230,27 @@ match.-
*+
Matches the previous atom - zero or more times, while giving nothing back. +*+
Matches the previous atom zero or more times, while + giving nothing back.-
++
Matches the previous atom - one or more times, while giving nothing back. +++
Matches the previous atom one or more times, while + giving nothing back.-
?+
Matches the previous atom - zero or one times, while giving nothing back. +?+
Matches the previous atom zero or one times, while + giving nothing back.-
+{n,}+
Matches the previous atom n or more times, +{n,}+
Matches the previous atom n or more times, while + giving nothing back. ++
-{n,m}+
Matches the previous atom between n and m times, while giving nothing back.-
{n,m}+
- Matches the previous atom between n and m times, while giving nothing back. -- + Back references
@@ -279,99 +269,170 @@
aaabba
++ You can also use the \g escape for the same function, for example: +
++
+ ++ + + + ++ ++ Escape +
++ ++ Meaning +
++ ++ ++
+\g1
++ ++ Match whatever matched sub-expression 1 +
++ ++ ++
+\g{1}
++ ++ Match whatever matched sub-expression 1: this form allows for safer + parsing of the expression in cases like
+\g{1}2
+ or for indexes higher than 9 as in\g{1234}
++ ++ ++
+\g-1
++ ++ Match whatever matched the last opened sub-expression +
++ + ++ ++
+\g{-2}
++ ++ Match whatever matched the last but one opened sub-expression +
+- + Alternation
- The
|
operator will match either - of its arguments, so for example:abc|def
will - match either "abc" or "def". + The|
operator will match either of its arguments, so + for example:abc|def
will match either "abc" + or "def".- Parenthesis can be used to group alternations, for example:
ab(d|ef)
+ Parenthesis can be used to group alternations, for example:ab(d|ef)
will match either of "abd" or "abef".Empty alternatives are not allowed (these are almost always a mistake), but - if you really want an empty alternative use
(?:)
- as a placeholder, for example: + if you really want an empty alternative use(?:)
as a + placeholder, for example:-
|abc
- is not a valid expression, but +|abc
is not a valid expression, but-
(?:)|abc
- is and is equivalent, also the expression: +(?:)|abc
is and is equivalent, also the expression:-
(?:abc)??
has exactly the same effect. +(?:abc)??
has exactly the same effect.- + Character sets
- A character set is a bracket-expression starting with
[
- and ending with]
, it defines - a set of characters, and matches any single character that is a member of - that set. + A character set is a bracket-expression starting with[
+ and ending with]
, it defines a set of characters, and + matches any single character that is a member of that set.A bracket expression may contain any combination of the following:
- + Single characters
- For example
[abc]
, will match any of the characters 'a', 'b', - or 'c'. + For example[abc]
, will match any of the characters 'a', + 'b', or 'c'.- + Character ranges
- For example
[a-c]
- will match any single character in the range 'a' to 'c'. By default, for - Perl regular expressions, a character x is within the range y to z, if the - code point of the character lies within the codepoints of the endpoints of - the range. Alternatively, if you set thecollate
flag when constructing the - regular expression, then ranges are locale sensitive. + For example[a-c]
will match any single character in the + range 'a' to 'c'. By default, for Perl regular expressions, a character x + is within the range y to z, if the code point of the character lies within + the codepoints of the endpoints of the range. Alternatively, if you set the +collate
+ flag when constructing the regular expression, then ranges are locale + sensitive.- + Negation
If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example
[^a-c]
matches any character that is not in the - rangea-c
. + complement of the characters it contains, for example[^a-c]
+ matches any character that is not in the rangea-c
.- + Character classes
- An expression of the form
[[:name:]]
- matches the named character class "name", for example[[:lower:]]
matches any lower case character. See - character class names. + An expression of the form[[:name:]]
matches the named + character class "name", for example[[:lower:]]
+ matches any lower case character. See character + class names.- + Collating Elements
- An expression of the form
[[.col.]
matches - the collating element col. A collating element is any - single character, or any sequence of characters that collates as a single - unit. Collating elements may also be used as the end point of a range, for - example:[[.ae.]-c]
+ An expression of the form[[.col.]]
matches the collating + element col. A collating element is any single character, + or any sequence of characters that collates as a single unit. Collating elements + may also be used as the end point of a range, for example:[[.ae.]-c]
matches the character sequence "ae", plus any single character in the range "ae"-c, assuming that "ae" is treated as a single collating element in the current locale. @@ -382,28 +443,27 @@[[.NUL.]]- matches a
\0
- character. + matches a\0
character.- + Equivalence classes
- An expression of the form
[[=col=]]
, - matches any character or collating element whose primary sort key is the - same as that for collating element col, as with collating - elements the name col may be a symbolic - name. A primary sort key is one that ignores case, accentation, or - locale-specific tailorings; so for example[[=a=]]
matches + An expression of the form[[=col=]]
, matches any character + or collating element whose primary sort key is the same as that for collating + element col, as with collating elements the name col + may be a symbolic name. + A primary sort key is one that ignores case, accentation, or locale-specific + tailorings; so for example[[=a=]]
matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.- + Escaped Characters
@@ -415,15 +475,15 @@ is not a "word" character.- + Combinations
All of the above can be combined in one character set declaration, for example: -
[[:digit:]a-c[.NUL.]]
. +[[:digit:]a-c[.NUL.]]
.- + Escapes
@@ -453,105 +513,103 @@
-
\a
+\a
-
\a
+\a
-
\e
+\e
-
0x1B
+0x1B
-
\f
+\f
-
\f
+\f
-
\n
+\n
-
\n
+\n
-
\r
+\r
-
\r
+\r
-
\t
+\t
-
\t
+\t
-
\v -
+\v
-
\v
+\v
-
\b
+\b
-
\b
- (but only inside a character class declaration). +\b
(but only inside a character class declaration).-
\cX
+\cX
@@ -564,7 +622,7 @@ -
\xdd
+\xdd
@@ -577,7 +635,7 @@ -
\x{dddd}
+\x{dddd}
@@ -590,7 +648,7 @@ -
\0ddd
+\0ddd
@@ -603,20 +661,21 @@ -
\N{name}
+\N{name}
Matches the single character which has the symbolic - name name. For example
\N{newline}
matches the single character \n. + name name. For example\N{newline}
+ matches the single character \n.- + "Single character" character classes:
@@ -818,7 +877,7 @@- + Character Properties
@@ -922,33 +981,30 @@- For example
\pd
- matches any "digit" character, as does\p{digit}
. + For example\pd
matches any "digit" character, + as does\p{digit}
.- + Word Boundaries
The following escape sequences match the boundaries of words:
-
\<
Matches the start of a - word. +\<
Matches the start of a word.-
\>
Matches the end of a word. +\>
Matches the end of a word.-
\b
- Matches a word boundary (the start or end of a word). +\b
Matches a word boundary (the start or end of a word).-
\B
- Matches only when not at a word boundary. +\B
Matches only when not at a word boundary.- + Buffer boundaries
@@ -970,46 +1026,69 @@
\Z Matches an optional sequence of newlines at the end of a buffer: equivalent - to the regular expression
\n*\z
+ to the regular expression\n*\z
- + Continuation Escape
- The sequence
\G
- matches only at the end of the last match found, or at the start of the text - being matched if no previous match was found. This escape useful if you're - iterating over the matches contained within a text, and you want each subsequence - match to start where the last one ended. + The sequence\G
matches only at the end of the last match + found, or at the start of the text being matched if no previous match was + found. This escape useful if you're iterating over the matches contained + within a text, and you want each subsequence match to start where the last + one ended.- + Quoting escape
- The escape sequence
\Q
- begins a "quoted sequence": all the subsequent characters are treated - as literals, until either the end of the regular expression or \E is found. - For example the expression:\Q\*+\Ea+
would match either of: + The escape sequence\Q
begins a "quoted sequence": + all the subsequent characters are treated as literals, until either the end + of the regular expression or \E is found. For example the expression:\Q\*+\Ea+
+ would match either of:\*+a \*+aaa- + Unicode escapes
-
+\C
- Matches a single code point: in Boost regex this has exactly the same effect - as a "." operator.\X
Matches a combining character sequence: - that is any non-combining character followed by a sequence of zero or more - combining characters. +\C
Matches a single code point: in Boost regex this has + exactly the same effect as a "." operator.\X
+ Matches a combining character sequence: that is any non-combining character + followed by a sequence of zero or more combining characters. ++ + Matching + Line Endings +
++ The escape sequence
+\R
matches any line ending character + sequence, specifically it is identical to the expression(?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}])
. ++ + Keeping + back some text +
++
+\K
Resets the start location of $0 to the current text + position: in other words everything to the left of \K is "kept back" + and does not form part of the regular expression match. $` is updated accordingly. ++ For example
foo\Kbar
matched against the text "foobar" + would return the match "bar" for $0 and "foo" for $`. + This can be used to simulate variable width lookbehind assertions.- + Any other escape
@@ -1018,57 +1097,54 @@ \@ matches a literal '@'.- + Perl Extended Patterns
Perl-specific extensions to the regular expression syntax all start with -
(?
. +(?
.- + Comments
-
(?# ... - )
is treated as a comment, it's contents - are ignored. +(?# ... )
is treated as a comment, it's contents are ignored.- + Modifiers
-
(?imsx-imsx ... )
alters - which of the perl modifiers are in effect within the pattern, changes take - effect from the point that the block is first seen and extend to any enclosing -)
. Letters before a '-' turn - that perl modifier on, letters afterward, turn it off. +(?imsx-imsx ... )
alters which of the perl modifiers are + in effect within the pattern, changes take effect from the point that the + block is first seen and extend to any enclosing)
. Letters + before a '-' turn that perl modifier on, letters afterward, turn it off.-
(?imsx-imsx:pattern)
- applies the specified modifiers to pattern only. +(?imsx-imsx:pattern)
applies the specified modifiers to + pattern only.- + Non-marking groups
-
(?:pattern)
lexically groups pattern, without generating +(?:pattern)
lexically groups pattern, without generating an additional sub-expression.- + Lookahead
-
(?=pattern)
consumes zero characters, only if pattern +(?=pattern)
consumes zero characters, only if pattern matches.-
(?!pattern)
consumes zero characters, only if pattern +(?!pattern)
consumes zero characters, only if pattern does not match.@@ -1083,26 +1159,26 @@ could be used to validate the password.
- + Lookbehind
-
(?<=pattern)
consumes zero characters, only if pattern +(?<=pattern)
consumes zero characters, only if pattern could be matched against the characters preceding the current position (pattern must be of fixed length).-
(?<!pattern)
consumes zero characters, only if pattern +(?<!pattern)
consumes zero characters, only if pattern could not be matched against the characters preceding the current position (pattern must be of fixed length).- + Independent sub-expressions
-
(?>pattern)
pattern is matched +(?>pattern)
pattern is matched independently of the surrounding patterns, the expression will never backtrack into pattern. Independent sub-expressions are typically used to improve performance; only the best possible match for pattern will @@ -1110,19 +1186,18 @@ no match is found at all.- + Conditional Expressions
-
(?(condition)yes-pattern|no-pattern)
attempts to match yes-pattern - if the condition is true, otherwise attempts to match - no-pattern. +(?(condition)yes-pattern|no-pattern)
attempts to match + yes-pattern if the condition is + true, otherwise attempts to match no-pattern.-
(?(condition)yes-pattern)
- attempts to match yes-pattern if the condition - is true, otherwise fails. +(?(condition)yes-pattern)
attempts to match yes-pattern + if the condition is true, otherwise fails.condition may be either a forward lookahead assert, @@ -1130,7 +1205,7 @@ sub-expression has been matched).
- + Operator precedence
@@ -1143,17 +1218,16 @@ [::] [..]
\
+ Escaped characters \
[]
()
+ Grouping ()
*
- + ? {m,n}
+ Single-character-ERE duplication * + ? {m,n}
- AtomA AtomB
+ AtomA AtomB
- Expression1 |
- Expression2
+ Expression1 | Expression2
- S{N}
+ S{N}
- S{N,M}
+ S{N,M}
- S{N,M}?
+ S{N,M}?
- S?,
- S*,
- S+
+ S?, S*, S+
- The same as S{0,1}
,
- S{0,UINT_MAX}
,
- S{1,UINT_MAX}
- respectively.
+ The same as S{0,1}
, S{0,UINT_MAX}
,
+ S{1,UINT_MAX}
respectively.
- S??,
- S*?,
- S+?
+ S??, S*?, S+?
- The same as S{0,1}?
,
- S{0,UINT_MAX}?
,
- S{1,UINT_MAX}?
- respectively.
+ The same as S{0,1}?
, S{0,UINT_MAX}?
,
+ S{1,UINT_MAX}?
respectively.
- (?>S)
+ (?>S)
- (?=S), (?<=S)
+ (?=S), (?<=S)
- (?!S), (?<!S)
+ (?!S), (?<!S)
- (?(condition)yes-pattern
- | no-pattern)
+ (?(condition)yes-pattern | no-pattern)
The options
- normal
, ECMAScript
,
- JavaScript
and JScript
are all synonyms for perl
.
+ normal
, ECMAScript
, JavaScript
+ and JScript
are all synonyms for perl
.
There are a variety
- of flags that may be combined with the perl
- option when constructing the regular expression, in particular note that
- the newline_alt
option alters
- the syntax, while the collate
,
- nosubs
and icase
options modify how the case and locale
- sensitivity are to be applied.
+ of flags that may be combined with the perl
option
+ when constructing the regular expression, in particular note that the newline_alt
+ option alters the syntax, while the collate
, nosubs
+ and icase
options modify how the case and locale sensitivity
+ are to be applied.
- The perl smix
modifiers can
- either be applied using a (?smix-smix)
prefix to the regular expression, or with
+ The perl smix
modifiers can either be applied using a
+ (?smix-smix)
prefix to the regular expression, or with
one of the regex-compile
- time flags no_mod_m
, mod_x
, mod_s
,
- and no_mod_s
.
+ time flags no_mod_m
, mod_x
, mod_s
,
+ and no_mod_s
.
diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 00b14229..a21286ca 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -30,7 +30,7 @@ There are two ways to use Boost.Regex with Unicode strings:
Copyright © 1998 -2007 John Maddock
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -196,7 +196,7 @@Last revised: April 23, 2009 at 09:45:24 GMT |
+Last revised: April 25, 2009 at 17:20:04 GMT |