regex_constants.hpp
来自「support vector clustering for vc++」· HPP 代码 · 共 283 行 · 第 1/2 页
HPP
283 行
///////////////////////////////////////////////////////////////////////////////
/// \file regex_constants.hpp
/// Contains definitions for the syntax_option_type, match_flag_type and
/// error_type enumerations.
//
// Copyright 2004 Eric Niebler. 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)
#ifndef BOOST_XPRESSIVE_REGEX_CONSTANTS_HPP_EAN_10_04_2005
#define BOOST_XPRESSIVE_REGEX_CONSTANTS_HPP_EAN_10_04_2005
// MS compatible compilers support #pragma once
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma once
#endif
#include <boost/mpl/identity.hpp>
#ifndef BOOST_XPRESSIVE_DOXYGEN_INVOKED
# define icase icase_
#endif
namespace boost { namespace xpressive { namespace regex_constants
{
/// Flags used to customize the regex syntax
///
enum syntax_option_type
{
// these flags are required:
ECMAScript = 0, ///< Specifies that the grammar recognized by the regular expression
///< engine uses its normal semantics: that is the same as that given
///< in the ECMA-262, ECMAScript Language Specification, Chapter 15
///< part 10, RegExp (Regular Expression) Objects (FWD.1).
///<
icase = 1 << 1, ///< Specifies that matching of regular expressions against a character
///< container sequence shall be performed without regard to case.
///<
nosubs = 1 << 2, ///< Specifies that when a regular expression is matched against a
///< character container sequence, then no sub-expression matches are to
///< be stored in the supplied match_results structure.
///<
optimize = 1 << 3, ///< Specifies that the regular expression engine should pay more
///< attention to the speed with which regular expressions are matched,
///< and less to the speed with which regular expression objects are
///< constructed. Otherwise it has no detectable effect on the program
///< output.
///<
collate = 1 << 4, ///< Specifies that character ranges of the form "[a-b]" should be
///< locale sensitive.
///<
// These flags are optional. If the functionality is supported
// then the flags shall take these names.
//basic = 1 << 5, ///< Specifies that the grammar recognized by the regular expression
// ///< engine is the same as that used by POSIX basic regular expressions
// ///< in IEEE Std 1003.1-2001, Portable Operating System Interface
// ///< (POSIX), Base Definitions and Headers, Section 9, Regular
// ///< Expressions (FWD.1).
// ///<
//extended = 1 << 6, ///< Specifies that the grammar recognized by the regular expression
// ///< engine is the same as that used by POSIX extended regular
// ///< expressions in IEEE Std 1003.1-2001, Portable Operating System
// ///< Interface (POSIX), Base Definitions and Headers, Section 9,
// ///< Regular Expressions (FWD.1).
// ///<
//awk = 1 << 7, ///< Specifies that the grammar recognized by the regular expression
// ///< engine is the same as that used by POSIX utility awk in IEEE Std
// ///< 1003.1-2001, Portable Operating System Interface (POSIX), Shells
// ///< and Utilities, Section 4, awk (FWD.1).
// ///<
//grep = 1 << 8, ///< Specifies that the grammar recognized by the regular expression
// ///< engine is the same as that used by POSIX utility grep in IEEE Std
// ///< 1003.1-2001, Portable Operating System Interface (POSIX),
// ///< Shells and Utilities, Section 4, Utilities, grep (FWD.1).
// ///<
//egrep = 1 << 9, ///< Specifies that the grammar recognized by the regular expression
// ///< engine is the same as that used by POSIX utility grep when given
// ///< the -E option in IEEE Std 1003.1-2001, Portable Operating System
// ///< Interface (POSIX), Shells and Utilities, Section 4, Utilities,
// ///< grep (FWD.1).
// ///<
// these flags are specific to xpressive, and they help with perl compliance.
single_line = 1 << 10, ///< Specifies that the ^ and \$ metacharacters DO NOT match at
///< internal line breaks. Note that this is the opposite of the
///< perl default. It is the inverse of perl's /m (multi-line)
///< modifier.
///<
not_dot_null = 1 << 11, ///< Specifies that the . metacharacter does not match the null
///< character \\0.
///<
not_dot_newline = 1 << 12, ///< Specifies that the . metacharacter does not match the
///< newline character \\n.
///<
ignore_white_space = 1 << 13 ///< Specifies that non-escaped white-space is not significant.
///<
};
/// Flags used to customize the behavior of the regex algorithms
///
enum match_flag_type
{
match_default = 0, ///< Specifies that matching of regular expressions proceeds
///< without any modification of the normal rules used in
///< ECMA-262, ECMAScript Language Specification, Chapter 15
///< part 10, RegExp (Regular Expression) Objects (FWD.1)
///<
match_not_bol = 1 << 1, ///< Specifies that the expression "^" should not be matched
///< against the sub-sequence [first,first).
///<
match_not_eol = 1 << 2, ///< Specifies that the expression "\$" should not be
///< matched against the sub-sequence [last,last).
///<
match_not_bow = 1 << 3, ///< Specifies that the expression "\\b" should not be
///< matched against the sub-sequence [first,first).
///<
match_not_eow = 1 << 4, ///< Specifies that the expression "\\b" should not be
///< matched against the sub-sequence [last,last).
///<
match_any = 1 << 7, ///< Specifies that if more than one match is possible then
///< any match is an acceptable result.
///<
match_not_null = 1 << 8, ///< Specifies that the expression can not be matched
///< against an empty sequence.
///<
match_continuous = 1 << 10, ///< Specifies that the expression must match a sub-sequence
///< that begins at first.
///<
match_partial = 1 << 11, ///< Specifies that if no match can be found, then it is
///< acceptable to return a match [from, last) where
///< from!=last, if there exists some sequence of characters
///< [from,to) of which [from,last) is a prefix, and which
///< would result in a full match.
///<
match_prev_avail = 1 << 12, ///< Specifies that --first is a valid iterator position,
///< when this flag is set then the flags match_not_bol
///< and match_not_bow are ignored by the regular expression
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?