Lines Matching refs:subject
107 var subject = TO_STRING(this);
114 if (index > subject.length) index = subject.length;
116 return %StringIndexOf(subject, pattern, index);
170 var subject = TO_STRING(this);
174 return RegExpExecNoTests(regexp, subject, 0);
213 var subject = TO_STRING(this);
238 var match = RegExpExec(search, subject, 0);
241 return subject;
244 return %_SubString(subject, 0, match[CAPTURE0]) +
245 %_SubString(subject, match[CAPTURE1], subject.length)
247 return ExpandReplacement(replace, subject, RegExpLastMatchInfo,
248 %_SubString(subject, 0, match[CAPTURE0])) +
249 %_SubString(subject, match[CAPTURE1], subject.length);
255 subject, search, replace, RegExpLastMatchInfo);
260 return StringReplaceGlobalRegExpWithFunction(subject, search, replace);
263 return StringReplaceNonGlobalRegExpWithFunction(subject, search, replace);
269 subject.length > 0xFF &&
275 return %StringReplaceOneCharWithString(subject, search, replace);
277 var start = %StringIndexOf(subject, search, 0);
278 if (start < 0) return subject;
281 var result = %_SubString(subject, 0, start);
285 result += replace(search, start, subject);
290 subject,
295 return result + %_SubString(subject, end, subject.length);
301 function ExpandReplacement(string, subject, matchInfo, result) {
322 %_SubString(subject, matchInfo[CAPTURE0], matchInfo[CAPTURE1]);
325 result += %_SubString(subject, 0, matchInfo[CAPTURE0]);
328 result += %_SubString(subject, matchInfo[CAPTURE1], subject.length);
348 %_SubString(subject, start, matchInfo[CAPTURE(scaled_index + 1)]);
402 function StringReplaceGlobalRegExpWithFunction(subject, regexp, replace) {
414 subject,
421 return subject;
442 var func_result = replace(elem, match_start, subject);
462 var result = %StringBuilderConcat(res, len, subject);
469 function StringReplaceNonGlobalRegExpWithFunction(subject, regexp, replace) {
470 var matchInfo = RegExpExec(regexp, subject, 0);
473 return subject;
476 var result = %_SubString(subject, 0, index);
479 // and subject for the replace function invocation.
485 var s = %_SubString(subject, index, endOfMatch);
487 replacement = replace(s, index, subject);
491 parameters[j] = CaptureString(subject, matchInfo, j);
494 parameters[j + 1] = subject;
502 return result + %_SubString(subject, endOfMatch, subject.length);
517 var subject = TO_STRING(this);
519 return %_Call(regexp[searchSymbol], regexp, subject);
576 var subject = TO_STRING(this);
579 var length = subject.length;
586 if (IS_UNDEFINED(separator)) return [subject];
590 // If the separator string is empty then return the elements in the subject.
591 if (separator_length === 0) return %StringToArray(subject, limit);
593 return %StringSplit(subject, separator_string, limit);