Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
62 lines (47 sloc) 1.49 KB
* MacRuby Regular Expressions.
* This file is covered by the Ruby license. See COPYING for more details.
* Copyright (C) 2010, Apple Inc. All rights reserved.
#ifndef __RE_H_
#define __RE_H_
#if defined(__cplusplus)
extern "C" {
bool rb_char_to_icu_option(int c, int *option);
VALUE regexp_eqq(VALUE rcv, SEL sel, VALUE str);
VALUE regexp_match(VALUE rcv, SEL sel, VALUE str);
VALUE regexp_match2(VALUE rcv, SEL sel, int argc, VALUE *argv);
VALUE rb_reg_quote(VALUE pat);
VALUE rb_reg_regcomp(VALUE str);
VALUE rb_regexp_source(VALUE re);
VALUE rb_reg_matcher_new(VALUE re, VALUE str);
void rb_reg_matcher_destroy(VALUE matcher);
int rb_reg_matcher_search(VALUE re, VALUE matcher, int pos, bool reverse);
static inline int
rb_reg_search(VALUE re, VALUE str, int pos, bool reverse)
VALUE matcher = rb_reg_matcher_new(re, str);
const int res = rb_reg_matcher_search(re, matcher, pos, reverse);
return res;
int rb_reg_options_to_mri(int opt);
int rb_reg_options_from_mri(int mri_opt);
void regexp_get_uchars(VALUE re, const UChar **chars_p, long *chars_len_p);
typedef struct rb_match_result {
unsigned int beg;
unsigned int end;
} rb_match_result_t;
rb_match_result_t *rb_reg_match_results(VALUE match, int *count);
static inline int
rb_reg_adjust_startpos(VALUE re, VALUE str, int pos, bool reverse)
return reverse ? -pos : rb_str_chars_len(str) - pos;
#if defined(__cplusplus)
} // extern "C"
#endif // __RE_H_
Jump to Line
Something went wrong with that request. Please try again.