<!-- ##### SECTION Title ##### -->
Perl-compatible regular expressions

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### ENUM GRegexError ##### -->
<para>

</para>

@G_REGEX_ERROR_COMPILE: 
@G_REGEX_ERROR_OPTIMIZE: 
@G_REGEX_ERROR_REPLACE: 
@G_REGEX_ERROR_MATCH: 
@G_REGEX_ERROR_INTERNAL: 
@G_REGEX_ERROR_STRAY_BACKSLASH: 
@G_REGEX_ERROR_MISSING_CONTROL_CHAR: 
@G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: 
@G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: 
@G_REGEX_ERROR_QUANTIFIER_TOO_BIG: 
@G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: 
@G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: 
@G_REGEX_ERROR_RANGE_OUT_OF_ORDER: 
@G_REGEX_ERROR_NOTHING_TO_REPEAT: 
@G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: 
@G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: 
@G_REGEX_ERROR_UNMATCHED_PARENTHESIS: 
@G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: 
@G_REGEX_ERROR_UNTERMINATED_COMMENT: 
@G_REGEX_ERROR_EXPRESSION_TOO_LARGE: 
@G_REGEX_ERROR_MEMORY_ERROR: 
@G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: 
@G_REGEX_ERROR_MALFORMED_CONDITION: 
@G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: 
@G_REGEX_ERROR_ASSERTION_EXPECTED: 
@G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: 
@G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: 
@G_REGEX_ERROR_HEX_CODE_TOO_LARGE: 
@G_REGEX_ERROR_INVALID_CONDITION: 
@G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: 
@G_REGEX_ERROR_INFINITE_LOOP: 
@G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: 
@G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: 
@G_REGEX_ERROR_MALFORMED_PROPERTY: 
@G_REGEX_ERROR_UNKNOWN_PROPERTY: 
@G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: 
@G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: 
@G_REGEX_ERROR_INVALID_OCTAL_VALUE: 
@G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: 
@G_REGEX_ERROR_DEFINE_REPETION: 
@G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: 
@G_REGEX_ERROR_MISSING_BACK_REFERENCE: 

<!-- ##### MACRO G_REGEX_ERROR ##### -->
<para>

</para>



<!-- ##### ENUM GRegexCompileFlags ##### -->
<para>

</para>

@G_REGEX_CASELESS: 
@G_REGEX_MULTILINE: 
@G_REGEX_DOTALL: 
@G_REGEX_EXTENDED: 
@G_REGEX_ANCHORED: 
@G_REGEX_DOLLAR_ENDONLY: 
@G_REGEX_UNGREEDY: 
@G_REGEX_RAW: 
@G_REGEX_NO_AUTO_CAPTURE: 
@G_REGEX_OPTIMIZE: 
@G_REGEX_DUPNAMES: 
@G_REGEX_NEWLINE_CR: 
@G_REGEX_NEWLINE_LF: 
@G_REGEX_NEWLINE_CRLF: 

<!-- ##### ENUM GRegexMatchFlags ##### -->
<para>

</para>

@G_REGEX_MATCH_ANCHORED: 
@G_REGEX_MATCH_NOTBOL: 
@G_REGEX_MATCH_NOTEOL: 
@G_REGEX_MATCH_NOTEMPTY: 
@G_REGEX_MATCH_PARTIAL: 
@G_REGEX_MATCH_NEWLINE_CR: 
@G_REGEX_MATCH_NEWLINE_LF: 
@G_REGEX_MATCH_NEWLINE_CRLF: 
@G_REGEX_MATCH_NEWLINE_ANY: 

<!-- ##### STRUCT GRegex ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION GRegexEvalCallback ##### -->
<para>

</para>

@match_info: 
@result: 
@user_data: 
@Returns: 


<!-- ##### FUNCTION g_regex_new ##### -->
<para>

</para>

@pattern: 
@compile_options: 
@match_options: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_ref ##### -->
<para>

</para>

@regex: 
@Returns: 


<!-- ##### FUNCTION g_regex_unref ##### -->
<para>

</para>

@regex: 


<!-- ##### FUNCTION g_regex_get_pattern ##### -->
<para>

</para>

@regex: 
@Returns: 


<!-- ##### FUNCTION g_regex_get_max_backref ##### -->
<para>

</para>

@regex: 
@Returns: 


<!-- ##### FUNCTION g_regex_get_capture_count ##### -->
<para>

</para>

@regex: 
@Returns: 


<!-- ##### FUNCTION g_regex_get_string_number ##### -->
<para>

</para>

@regex: 
@name: 
@Returns: 


<!-- ##### FUNCTION g_regex_get_compile_flags ##### -->
<para>

</para>

@regex: 
@Returns: 


<!-- ##### FUNCTION g_regex_get_match_flags ##### -->
<para>

</para>

@regex: 
@Returns: 


<!-- ##### FUNCTION g_regex_escape_string ##### -->
<para>

</para>

@string: 
@length: 
@Returns: 


<!-- ##### FUNCTION g_regex_match_simple ##### -->
<para>

</para>

@pattern: 
@string: 
@compile_options: 
@match_options: 
@Returns: 


<!-- ##### FUNCTION g_regex_match ##### -->
<para>

</para>

@regex: 
@string: 
@match_options: 
@match_info: 
@Returns: 


<!-- ##### FUNCTION g_regex_match_full ##### -->
<para>

</para>

@regex: 
@string: 
@string_len: 
@start_position: 
@match_options: 
@match_info: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_match_all ##### -->
<para>

</para>

@regex: 
@string: 
@match_options: 
@match_info: 
@Returns: 


<!-- ##### FUNCTION g_regex_match_all_full ##### -->
<para>

</para>

@regex: 
@string: 
@string_len: 
@start_position: 
@match_options: 
@match_info: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_split_simple ##### -->
<para>

</para>

@pattern: 
@string: 
@compile_options: 
@match_options: 
@Returns: 


<!-- ##### FUNCTION g_regex_split ##### -->
<para>

</para>

@regex: 
@string: 
@match_options: 
@Returns: 


<!-- ##### FUNCTION g_regex_split_full ##### -->
<para>

</para>

@regex: 
@string: 
@string_len: 
@start_position: 
@match_options: 
@max_tokens: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_replace ##### -->
<para>

</para>

@regex: 
@string: 
@string_len: 
@start_position: 
@replacement: 
@match_options: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_replace_literal ##### -->
<para>

</para>

@regex: 
@string: 
@string_len: 
@start_position: 
@replacement: 
@match_options: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_replace_eval ##### -->
<para>

</para>

@regex: 
@string: 
@string_len: 
@start_position: 
@match_options: 
@eval: 
@user_data: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_regex_check_replacement ##### -->
<para>

</para>

@replacement: 
@has_references: 
@error: 
@Returns: 


<!-- ##### STRUCT GMatchInfo ##### -->
<para>

</para>


<!-- ##### FUNCTION g_match_info_get_regex ##### -->
<para>

</para>

@match_info: 
@Returns: 


<!-- ##### FUNCTION g_match_info_get_string ##### -->
<para>

</para>

@match_info: 
@Returns: 


<!-- ##### FUNCTION g_match_info_ref ##### -->
<para>

</para>

@match_info: 
@Returns: 


<!-- ##### FUNCTION g_match_info_unref ##### -->
<para>

</para>

@match_info: 


<!-- ##### FUNCTION g_match_info_free ##### -->
<para>

</para>

@match_info: 


<!-- ##### FUNCTION g_match_info_matches ##### -->
<para>

</para>

@match_info: 
@Returns: 


<!-- ##### FUNCTION g_match_info_next ##### -->
<para>

</para>

@match_info: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_match_info_get_match_count ##### -->
<para>

</para>

@match_info: 
@Returns: 


<!-- ##### FUNCTION g_match_info_is_partial_match ##### -->
<para>

</para>

@match_info: 
@Returns: 


<!-- ##### FUNCTION g_match_info_expand_references ##### -->
<para>

</para>

@match_info: 
@string_to_expand: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_match_info_fetch ##### -->
<para>

</para>

@match_info: 
@match_num: 
@Returns: 


<!-- ##### FUNCTION g_match_info_fetch_pos ##### -->
<para>

</para>

@match_info: 
@match_num: 
@start_pos: 
@end_pos: 
@Returns: 


<!-- ##### FUNCTION g_match_info_fetch_named ##### -->
<para>

</para>

@match_info: 
@name: 
@Returns: 


<!-- ##### FUNCTION g_match_info_fetch_named_pos ##### -->
<para>

</para>

@match_info: 
@name: 
@start_pos: 
@end_pos: 
@Returns: 


<!-- ##### FUNCTION g_match_info_fetch_all ##### -->
<para>

</para>

@match_info: 
@Returns: 


