Lines Matching defs:rx

875  *   rx:     the regex to match against
936 REGEXP * const rx,
944 struct regexp *const prog = ReANY(rx);
1007 reginfo->is_utf8_pat = cBOOL(RX_UTF8(rx));
1136 (IV)end_shift, RX_PRECOMP(rx));
1580 /* latest pos that a matching float substr constrains rx start to */
3503 S_reg_set_capture_string(pTHX_ REGEXP * const rx,
3510 struct regexp *const prog = ReANY(rx);
3661 Perl_regexec_flags(pTHX_ REGEXP * const rx, char *stringarg, char *strend,
3674 struct regexp *const prog = ReANY(rx);
3698 debug_start_match(rx, utf8_target, stringarg, strend,
3777 s = re_intuit_start(rx, sv, strbeg, startpos, strend,
3810 S_reg_set_capture_string(aTHX_ rx,
3834 reginfo->prog = rx; /* Yes, sorry that this is confusing. */
3836 reginfo->is_utf8_pat = cBOOL(RX_UTF8(rx));
3905 if (PL_curpm && (PM_GETRE(PL_curpm) == rx)) {
3964 s = re_intuit_start(rx, sv, strbeg, s, strend, flags, NULL);
4313 S_reg_set_capture_string(aTHX_ rx,
4373 REGEXP *const rx = reginfo->prog;
4374 regexp *const prog = ReANY(rx);
11926 Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value,
11934 return reg_named_buff_fetch(rx, key, flags);
11939 return reg_named_buff_exists(rx, key, flags)
11943 return reg_named_buff_all(rx, flags);
11945 return reg_named_buff_scalar(rx, flags);
11953 Perl_reg_named_buff_iter(pTHX_ REGEXP * const rx, const SV * const lastkey,
11960 return reg_named_buff_firstkey(rx, flags);
11962 return reg_named_buff_nextkey(rx, flags);
11975 struct regexp *const rx = ReANY(r);
11979 if (rx && RXp_PAREN_NAMES(rx)) {
11980 HE *he_str = hv_fetch_ent( RXp_PAREN_NAMES(rx), namesv, 0, 0 );
11987 if ((I32)(rx->nparens) >= nums[i]
11988 && RXp_OFFS_VALID(rx,nums[i]))
12012 struct regexp *const rx = ReANY(r);
12016 if (rx && RXp_PAREN_NAMES(rx)) {
12018 return hv_exists_ent(RXp_PAREN_NAMES(rx), key, 0);
12036 struct regexp *const rx = ReANY(r);
12040 if ( rx && RXp_PAREN_NAMES(rx) ) {
12041 (void)hv_iterinit(RXp_PAREN_NAMES(rx));
12052 struct regexp *const rx = ReANY(r);
12057 if (rx && RXp_PAREN_NAMES(rx)) {
12058 HV *hv = RXp_PAREN_NAMES(rx);
12066 if ((I32)(RXp_LASTPAREN(rx)) >= nums[i] &&
12067 RXp_OFFS_VALID(rx,nums[i]))
12087 struct regexp *const rx = ReANY(r);
12091 if (rx && RXp_PAREN_NAMES(rx)) {
12093 return newSViv(HvTOTALKEYS(RXp_PAREN_NAMES(rx)));
12112 struct regexp *const rx = ReANY(r);
12117 if (rx && RXp_PAREN_NAMES(rx)) {
12118 HV *hv= RXp_PAREN_NAMES(rx);
12127 if ((I32)(RXp_LASTPAREN(rx)) >= nums[i] &&
12128 RXp_OFFS_VALID(rx,nums[i]))
12157 struct regexp *const rx = ReANY(re);
12162 I32 logical_nparens = rx->logical_nparens ? rx->logical_nparens : rx->nparens;
12171 bool keepcopy = cBOOL(rx->extflags & RXf_PMf_KEEPCOPY);
12184 if (!RXp_SUBBEG(rx))
12192 && (i = RXp_OFFS_START(rx,0)) != -1)
12195 s = RXp_SUBBEG(rx);
12199 && (t = RXp_OFFS_END(rx,0)) != -1)
12202 s = RXp_SUBBEG(rx) - RXp_SUBOFFSET(rx) + t;
12203 i = RXp_SUBLEN(rx) + RXp_SUBOFFSET(rx) - t;
12205 else /* when flags is true we do an absolute lookup, and compare against rx->nparens */
12206 if (inRANGE(n, 0, flags ? (I32)rx->nparens : logical_nparens)) {
12207 I32 *map = (!flags && n) ? rx->logical_to_parno : NULL;
12210 if (((s1 = RXp_OFFS_START(rx,true_parno)) != -1) &&
12211 ((t1 = RXp_OFFS_END(rx,true_parno)) != -1))
12215 s = RXp_SUBBEG(rx) + s1 - RXp_SUBOFFSET(rx);
12219 true_parno = rx->parno_to_logical_next[true_parno];
12231 assert(s >= RXp_SUBBEG(rx));
12232 assert((STRLEN)RXp_SUBLEN(rx) >= (STRLEN)((s - RXp_SUBBEG(rx)) + i) );
12242 if (RXp_MATCH_UTF8(rx))
12247 if (RXp_MATCH_TAINTED(rx)) {
12275 Perl_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren,
12280 PERL_UNUSED_ARG(rx);
12292 struct regexp *const rx = ReANY(r);
12295 I32 logical_nparens = rx->logical_nparens ? rx->logical_nparens : rx->nparens;
12304 bool keepcopy = cBOOL(rx->extflags & RXf_PMf_KEEPCOPY);
12321 if ( (i = RXp_OFFS_START(rx,0)) != -1) {
12332 if ( (j = RXp_OFFS_END(rx,0)) != -1 ) {
12333 i = RXp_SUBLEN(rx) - j;
12336 t1 = RXp_SUBLEN(rx);
12344 I32 true_paren = rx->logical_to_parno
12345 ? rx->logical_to_parno[paren]
12348 if (((s1 = RXp_OFFS_START(rx,true_paren)) != -1) &&
12349 ((t1 = RXp_OFFS_END(rx,true_paren)) != -1))
12353 } else if (rx->parno_to_logical_next) {
12354 true_paren = rx->parno_to_logical_next[true_paren];
12366 if (i > 0 && RXp_MATCH_UTF8(rx)) {
12367 const char * const s = RXp_SUBBEG(rx) - RXp_SUBOFFSET(rx) + s1;