home | help
std::basic_regex(3)	       C++ Standard Libary	     std::basic_regex(3)

NAME
     std::basic_regex - std::basic_regex

Synopsis
	Defined in header <regex>
	template<

	    class CharT,			     (since C++11)
	    class Traits = std::regex_traits<CharT>

	> class basic_regex;

	The  class template basic_regex provides a general framework for holding
     regular
	expressions.

	Several typedefs for common character types are provided:

	Defined in header <regex>
	Type	    Definition
	std::regex  std::basic_regex<char>
	std::wregex std::basic_regex<wchar_t>

Member types
	Member type Definition
	value_type  CharT
	traits_type Traits
	string_type Traits::string_type
	locale_type Traits::locale_type
	flag_type   std::regex_constants::syntax_option_type

Member functions
	constructor   constructs the regex object
		      (public member function)
	destructor    destructs the regex object
		      (public member function)
	operator=     assigns the contents
		      (public member function)
	assign	      assigns the contents
		      (public member function)

Observers
		      returns the number of marked  sub-expressions  within  the
     regular
	mark_count    expression
		      (public member function)
	flags	      returns the syntax flags
		      (public member function)

Locale
	getloc	      get locale information
		      (public member function)
	imbue	      set locale information
		      (public member function)

Modifiers
	swap	      swaps the contents
		      (public member function)

Constants
	Grammar option	  Effect(s)
	ECMAScript	   Use	the Modified ECMAScript regular expression gram-
     mar.
	basic		  Use the basic POSIX regular expression grammar  (gram-
     mar
			  documentation).
	extended	   Use	the  extended  POSIX  regular expression grammar
     (grammar
			  documentation).
	awk		  Use the regular expression grammar  used  by	the  awk
     utility in
			  POSIX (grammar documentation).
			  Use  the  regular  expression grammar used by the grep
     utility in
	grep		  POSIX. This is effectively the same as the  basic  op-
     tion with the
			  addition of newline '\n' as an alternation separator.
			  Use  the  regular  expression grammar used by the grep
     utility, with
	egrep		  the -E option, in POSIX. This is effectively the  same
     as the
			  extended  option  with the addition of newline '\n' as
     an
			  alternation separator in addition to '|'.
	Grammar variation Effect(s)
	icase		  Character matching should be performed without  regard
     to case.
			  When	performing  matches,  all marked sub-expressions
     (expr) are
	nosubs		  treated as non-marking  sub-expressions  (?:expr).  No
     matches are
			  stored  in the supplied std::regex_match structure and
     mark_count()
			  is zero.
			  Instructs the regular expression engine to make match-
     ing faster,
	optimize	  with the potential cost of making construction slower.
     For
			  example, this might mean converting a  non-determinis-
     tic FSA to a
			  deterministic FSA.
	collate 	   Character  ranges  of the form "[a-b]" will be locale
     sensitive.
	multiline (C++17) Specifies that ^ shall match the beginning of  a  line
     and $ shall
			  match  the  end of a line, if the ECMAScript engine is
     selected.

	At most one grammar option can be chosen out of ECMAScript,  basic,  ex-
     tended, awk,
	grep,  egrep.  If  no grammar is chosen, ECMAScript is assumed to be se-
     lected. The
	other  options	serve  as  variations,	such   that   std::regex("meow",
     std::regex::icase)
	is	 equivalent	 to	 std::regex("meow",	 std::regex::EC-
     MAScript|std::regex::icase).

	The member constants in basic_regex are  duplicates  of  the  syntax_op-
     tion_type
	constants defined in the namespace std::regex_constants.

Non-member functions
	std::swap(std::basic_regex) specializes the std::swap algorithm
	(C++11) 		    (function template)

	Deduction guides(since C++17)

http://cppreference.com 	   2024.06.10		     std::basic_regex(3)

home | help