Home | History | Annotate | Download | only in libregex

Lines Matching refs:pattern

36 void op_regcomp(regex_t & regexp, string const & pattern)
38 int err = regcomp(&regexp, pattern.c_str(), REG_EXTENDED);
41 + " for pattern : " + pattern);
74 bad_regex::bad_regex(string const & pattern)
75 : op_exception(pattern)
103 void regular_expression_replace::add_pattern(string const & pattern,
106 string expanded_pattern = expand_string(pattern);
133 string regular_expression_replace::substitute_definition(string const & pattern)
138 for (size_t i = 0 ; i < pattern.length() ; ++i) {
139 if (pattern[i] == '$' && !previous_is_escape) {
140 size_t pos = pattern.find('{', i);
142 throw bad_regex("invalid $ in pattern: " + pattern);
144 size_t end = pattern.find('}', i);
146 throw bad_regex("no matching '}' in pattern: " + pattern);
148 string def_name = pattern.substr(pos+1, (end-pos) - 1);
150 throw bad_regex("definition not found and used in pattern: ("
151 + def_name + ") " + pattern);
156 if (pattern[i] == '\\' && !previous_is_escape)
160 result += pattern[i];