blob: dbcce20484067a6b31b2d90ac897f5b1b30670f3 [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. All rights reserved.
// Autogenerated from the PCRE test suite Mon Feb 2 15:14:04 CET 2009
// Note that some regexps in the PCRE test suite use features not present
// in JavaScript. These don't work in JS, but they fail to work in a
// predictable way, and the expected results reflect this.
// PCRE comes with the following license
// PCRE LICENCE
// ------------
//
// PCRE is a library of functions to support regular expressions whose syntax
// and semantics are as close as possible to those of the Perl 5 language.
//
// Release 7 of PCRE is distributed under the terms of the "BSD" licence, as
// specified below. The documentation for PCRE, supplied in the "doc"
// directory, is distributed under the same terms as the software itself.
//
// The basic library functions are written in C and are freestanding. Also
// included in the distribution is a set of C++ wrapper functions.
//
//
// THE BASIC LIBRARY FUNCTIONS
// ---------------------------
//
// Written by: Philip Hazel
// Email local part: ph10
// Email domain: cam.ac.uk
//
// University of Cambridge Computing Service,
// Cambridge, England.
//
// Copyright (c) 1997-2007 University of Cambridge
// All rights reserved.
//
//
// THE C++ WRAPPER FUNCTIONS
// -------------------------
//
// Contributed by: Google Inc.
//
// Copyright (c) 2007, Google Inc.
// All rights reserved.
//
//
// THE "BSD" LICENCE
// -----------------
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// * Neither the name of the University of Cambridge nor the name of Google
// Inc. nor the names of their contributors may be used to endorse or
// promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// End
import 'v8_regexp_utils.dart';
import 'package:expect/expect.dart';
void main() {
var res = <RegExp>[];
res.add(new RegExp(r"(a)b|", caseSensitive: false));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"^abc", caseSensitive: false));
res.add(new RegExp(r"a+bc", caseSensitive: false));
res.add(new RegExp(r"a*bc", caseSensitive: false));
res.add(new RegExp(r"a{3}bc", caseSensitive: false));
res.add(new RegExp(r"(abc|a+z)", caseSensitive: false));
res.add(new RegExp(r"^abc$", caseSensitive: false));
res.add(new RegExp(r"ab\idef"));
res.add(new RegExp(r".*b", caseSensitive: false));
res.add(new RegExp(r".*?b", caseSensitive: false));
res.add(new RegExp(r"cat|dog|elephant", caseSensitive: false));
res.add(new RegExp(r"cat|dog|elephant", caseSensitive: false));
res.add(new RegExp(r"cat|dog|elephant", caseSensitive: false));
res.add(new RegExp(r"a|[bcd]", caseSensitive: false));
res.add(new RegExp(r"(a|[^\dZ])", caseSensitive: false));
res.add(new RegExp(r"(a|b)*[\s]", caseSensitive: false));
res.add(new RegExp(r"(ab\2)"));
res.add(new RegExp(r"(a)(b)(c)\2", caseSensitive: false));
res.add(new RegExp(r"(a)bc|(a)(b)\2", caseSensitive: false));
res.add(new RegExp(r"abc$", caseSensitive: false));
res.add(new RegExp(r"(a)(b)(c)(d)(e)\6"));
res.add(new RegExp(r"the quick brown fox", caseSensitive: false));
res.add(new RegExp(r"^abc|def", caseSensitive: false));
res.add(new RegExp(r".*((abc)$|(def))", caseSensitive: false));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"^abc|def", caseSensitive: false));
res.add(new RegExp(r".*((abc)$|(def))", caseSensitive: false));
res.add(new RegExp(r"the quick brown fox", caseSensitive: false));
res.add(new RegExp(r"the quick brown fox", caseSensitive: false));
res.add(new RegExp(r"abc.def", caseSensitive: false));
res.add(new RegExp(r"abc$", caseSensitive: false));
res.add(new RegExp(r"(abc)\2", caseSensitive: false));
res.add(new RegExp(r"(abc\1)", caseSensitive: false));
res.add(new RegExp(r"a[]b"));
res.add(new RegExp(r"[^aeiou ]{3,}", caseSensitive: false));
res.add(new RegExp(r"<.*>", caseSensitive: false));
res.add(new RegExp(r"<.*?>", caseSensitive: false));
res.add(new RegExp(r"[abcd]", caseSensitive: false));
res.add(new RegExp(r"(^a|^b)", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"a$", caseSensitive: false));
res.add(new RegExp(r"a$", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"\Aabc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"^abc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"(?!alphabet)[ab]", caseSensitive: false));
res.add(new RegExp(
r"The next three are in testinput2 because they have variable length branches"));
res.add(new RegExp(r"This one is here because Perl 5.005_02 doesn't fail it",
caseSensitive: false));
res.add(new RegExp(
r"This one is here because I think Perl 5.005_02 gets the setting of $1 wrong",
caseSensitive: false));
res.add(new RegExp(r"^(a\1?){4}$", caseSensitive: false));
res.add(new RegExp(r"These are syntax tests from Perl 5.005",
caseSensitive: false));
res.add(new RegExp(r"a[]b"));
res.add(new RegExp(r"\1"));
res.add(new RegExp(r"\2"));
res.add(new RegExp(r"(a)|\2"));
res.add(new RegExp(r"a[]b", caseSensitive: false));
res.add(new RegExp(r"abc"));
res.add(new RegExp(r"abc"));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"(a)bc(d)", caseSensitive: false));
res.add(new RegExp(r"(.{20})", caseSensitive: false));
res.add(new RegExp(r"(.{15})", caseSensitive: false));
res.add(new RegExp(r"(.{16})", caseSensitive: false));
res.add(new RegExp(r"^(a|(bc))de(f)", caseSensitive: false));
res.add(new RegExp(r"^abc\00def", caseSensitive: false));
res.add(new RegExp(
r"word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+\n)((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+\n)?)?)?)?)?)?)?)?)?otherword",
caseSensitive: false));
res.add(new RegExp(r".*X", caseSensitive: false));
res.add(new RegExp(r".*X", caseSensitive: false));
res.add(new RegExp(r"(.*X|^B)", caseSensitive: false));
res.add(new RegExp(r"(.*X|^B)", caseSensitive: false));
res.add(new RegExp(r"\Biss\B", caseSensitive: false));
res.add(new RegExp(r"\Biss\B", caseSensitive: false));
res.add(new RegExp(r"iss", caseSensitive: false));
res.add(new RegExp(r"\Biss\B", caseSensitive: false));
res.add(new RegExp(r"\Biss\B", caseSensitive: false));
res.add(new RegExp(r"^iss", caseSensitive: false));
res.add(new RegExp(r".*iss", caseSensitive: false));
res.add(new RegExp(r".i.", caseSensitive: false));
res.add(new RegExp(r"^.is", caseSensitive: false));
res.add(new RegExp(r"^ab\n", caseSensitive: false));
res.add(new RegExp(r"^ab\n", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"abc|bac", caseSensitive: false));
res.add(new RegExp(r"(abc|bac)", caseSensitive: false));
res.add(new RegExp(r"(abc|(c|dc))", caseSensitive: false));
res.add(new RegExp(r"(abc|(d|de)c)", caseSensitive: false));
res.add(new RegExp(r"a*", caseSensitive: false));
res.add(new RegExp(r"a+", caseSensitive: false));
res.add(new RegExp(r"(baa|a+)", caseSensitive: false));
res.add(new RegExp(r"a{0,3}", caseSensitive: false));
res.add(new RegExp(r"baa{3,}", caseSensitive: false));
res.add(new RegExp(r'"([^\\"]+|\.)*"', caseSensitive: false));
res.add(new RegExp(r"(abc|ab[cd])", caseSensitive: false));
res.add(new RegExp(r"(a|.)", caseSensitive: false));
res.add(new RegExp(r"a|ba|\w", caseSensitive: false));
res.add(new RegExp(r"abc(?=pqr)", caseSensitive: false));
res.add(new RegExp(r"abc(?!pqr)", caseSensitive: false));
res.add(new RegExp(r"ab.", caseSensitive: false));
res.add(new RegExp(r"ab[xyz]", caseSensitive: false));
res.add(new RegExp(r"abc*", caseSensitive: false));
res.add(new RegExp(r"ab.c*", caseSensitive: false));
res.add(new RegExp(r"a.c*", caseSensitive: false));
res.add(new RegExp(r".c*", caseSensitive: false));
res.add(new RegExp(r"ac*", caseSensitive: false));
res.add(new RegExp(r"(a.c*|b.c*)", caseSensitive: false));
res.add(new RegExp(r"a.c*|aba", caseSensitive: false));
res.add(new RegExp(r".+a", caseSensitive: false));
res.add(new RegExp(r"(?=abcda)a.*", caseSensitive: false));
res.add(new RegExp(r"(?=a)a.*", caseSensitive: false));
res.add(new RegExp(r"a(b)*", caseSensitive: false));
res.add(new RegExp(r"a\d*", caseSensitive: false));
res.add(new RegExp(r"ab\d*", caseSensitive: false));
res.add(new RegExp(r"a(\d)*", caseSensitive: false));
res.add(new RegExp(r"abcde{0,0}", caseSensitive: false));
res.add(new RegExp(r"ab\d+", caseSensitive: false));
res.add(new RegExp(r"ab\d{0}e", caseSensitive: false));
res.add(new RegExp(r"a?b?", caseSensitive: false));
res.add(new RegExp(r"|-", caseSensitive: false));
res.add(new RegExp(r"a*(b+)(z)(z)", caseSensitive: false));
res.add(new RegExp(r"^.?abcd", caseSensitive: false));
res.add(new RegExp(r"^[[:alnum:]]"));
res.add(new RegExp(r"^[[:^alnum:]]"));
res.add(new RegExp(r"^[[:alpha:]]"));
res.add(new RegExp(r"^[[:^alpha:]]"));
res.add(new RegExp(r"[_[:alpha:]]", caseSensitive: false));
res.add(new RegExp(r"^[[:ascii:]]"));
res.add(new RegExp(r"^[[:^ascii:]]"));
res.add(new RegExp(r"^[[:blank:]]"));
res.add(new RegExp(r"^[[:^blank:]]"));
res.add(new RegExp(r"[\n\x0b\x0c\x0d[:blank:]]", caseSensitive: false));
res.add(new RegExp(r"^[[:cntrl:]]"));
res.add(new RegExp(r"^[[:digit:]]"));
res.add(new RegExp(r"^[[:graph:]]"));
res.add(new RegExp(r"^[[:lower:]]"));
res.add(new RegExp(r"^[[:print:]]"));
res.add(new RegExp(r"^[[:punct:]]"));
res.add(new RegExp(r"^[[:space:]]"));
res.add(new RegExp(r"^[[:upper:]]"));
res.add(new RegExp(r"^[[:xdigit:]]"));
res.add(new RegExp(r"^[[:word:]]"));
res.add(new RegExp(r"^[[:^cntrl:]]"));
res.add(new RegExp(r"^[12[:^digit:]]"));
res.add(new RegExp(r"^[[:^blank:]]"));
res.add(new RegExp(r"[01[:alpha:]%]"));
res.add(new RegExp(r"[[.ch.]]", caseSensitive: false));
res.add(new RegExp(r"[[=ch=]]", caseSensitive: false));
res.add(new RegExp(r"[[:rhubarb:]]", caseSensitive: false));
res.add(new RegExp(r"[[:upper:]]", caseSensitive: false));
res.add(new RegExp(r"[[:lower:]]", caseSensitive: false));
res.add(new RegExp(
r"This one's here because of the large output vector needed",
caseSensitive: false));
res.add(new RegExp(
r"(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)",
caseSensitive: false));
res.add(new RegExp(
r"This one's here because Perl does this differently and PCRE can't at present",
caseSensitive: false));
res.add(new RegExp(r"(main(O)?)+", caseSensitive: false));
res.add(new RegExp(
r"These are all cases where Perl does it differently (nested captures)",
caseSensitive: false));
res.add(new RegExp(r"^(a(b)?)+$", caseSensitive: false));
res.add(new RegExp(r"^(aa(bb)?)+$", caseSensitive: false));
res.add(new RegExp(r"^(aa|aa(bb))+$", caseSensitive: false));
res.add(new RegExp(r"^(aa(bb)??)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(bb)?)+$", caseSensitive: false));
res.add(new RegExp(r"^(aa(b(b))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(b(b))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(b(?:b))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(bb(?:b))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(b(?:bb))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(?:b(b))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(?:aa(?:b(bb))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(aa(b(bb))?)+$", caseSensitive: false));
res.add(new RegExp(r"^(aa(bb(bb))?)+$", caseSensitive: false));
res.add(new RegExp(r"a", caseSensitive: false));
res.add(new RegExp(r"[\s]"));
res.add(new RegExp(r"[\S]"));
res.add(new RegExp(
r"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"));
res.add(new RegExp(
r"\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"));
res.add(new RegExp(r"\Q\E"));
res.add(new RegExp(r"\Q\Ex"));
res.add(new RegExp(r" \Q\E"));
res.add(new RegExp(r"a\Q\E"));
res.add(new RegExp(r"a\Q\Eb"));
res.add(new RegExp(r"\Q\Eabc"));
res.add(new RegExp(r"[.x.]", caseSensitive: false));
res.add(new RegExp(r"[=x=]", caseSensitive: false));
res.add(new RegExp(r"[:x:]", caseSensitive: false));
res.add(new RegExp(r"\l", caseSensitive: false));
res.add(new RegExp(r"\L", caseSensitive: false));
res.add(new RegExp(r"\N{name}", caseSensitive: false));
res.add(new RegExp(r"\u", caseSensitive: false));
res.add(new RegExp(r"\U", caseSensitive: false));
res.add(new RegExp(r"[[:space:]", caseSensitive: false));
res.add(new RegExp(r"[\s]", caseSensitive: false));
res.add(new RegExp(r"[[:space:]]", caseSensitive: false));
res.add(new RegExp(r"[[:space:]abcde]", caseSensitive: false));
res.add(new RegExp(r"(.*)\d+\1", caseSensitive: false));
res.add(new RegExp(r"(.*)\d+", caseSensitive: false));
res.add(new RegExp(r"(.*)\d+\1", caseSensitive: false));
res.add(new RegExp(r"(.*)\d+", caseSensitive: false));
res.add(new RegExp(r"(.*(xyz))\d+\2", caseSensitive: false));
res.add(new RegExp(r"((.*))\d+\1", caseSensitive: false));
res.add(new RegExp(r"a[b]", caseSensitive: false));
res.add(new RegExp(r"(?=a).*", caseSensitive: false));
res.add(new RegExp(r"(?=abc).xyz", caseSensitive: false));
res.add(new RegExp(r"(?=a)(?=b)", caseSensitive: false));
res.add(new RegExp(r"(?=.)a", caseSensitive: false));
res.add(new RegExp(r"((?=abcda)a)", caseSensitive: false));
res.add(new RegExp(r"((?=abcda)ab)", caseSensitive: false));
res.add(new RegExp(r"()a", caseSensitive: false));
res.add(new RegExp(r"(a)+", caseSensitive: false));
res.add(new RegExp(r"(a){2,3}", caseSensitive: false));
res.add(new RegExp(r"(a)*", caseSensitive: false));
res.add(new RegExp(r"[a]", caseSensitive: false));
res.add(new RegExp(r"[ab]", caseSensitive: false));
res.add(new RegExp(r"[ab]", caseSensitive: false));
res.add(new RegExp(r"[^a]", caseSensitive: false));
res.add(new RegExp(r"\d456", caseSensitive: false));
res.add(new RegExp(r"\d456", caseSensitive: false));
res.add(new RegExp(r"a^b", caseSensitive: false));
res.add(new RegExp(r"^a", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"c|abc", caseSensitive: false));
res.add(new RegExp(r"(.*)a", caseSensitive: false));
res.add(new RegExp(r"(.*)a\1", caseSensitive: false));
res.add(new RegExp(r"(.*)a(b)\2", caseSensitive: false));
res.add(new RegExp(r"((.*)a|(.*)b)z", caseSensitive: false));
res.add(new RegExp(r"((.*)a|(.*)b)z\1", caseSensitive: false));
res.add(new RegExp(r"((.*)a|(.*)b)z\2", caseSensitive: false));
res.add(new RegExp(r"((.*)a|(.*)b)z\3", caseSensitive: false));
res.add(new RegExp(r"((.*)a|^(.*)b)z\3", caseSensitive: false));
res.add(new RegExp(
r"(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a",
caseSensitive: false));
res.add(new RegExp(
r"(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31",
caseSensitive: false));
res.add(new RegExp(
r"(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32",
caseSensitive: false));
res.add(new RegExp(r"(a)(bc)", caseSensitive: false));
res.add(new RegExp(r"(a+)*zz", caseSensitive: false));
res.add(new RegExp(r"((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)",
caseSensitive: false));
res.add(new RegExp(r"((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)",
caseSensitive: false));
res.add(new RegExp(r"a*.*b", caseSensitive: false));
res.add(new RegExp(r"(a|b)*.?c", caseSensitive: false));
res.add(new RegExp(r"abcde", caseSensitive: false));
res.add(new RegExp(r"a*b", caseSensitive: false));
res.add(new RegExp(r"a+b", caseSensitive: false));
res.add(new RegExp(r"(abc|def)x", caseSensitive: false));
res.add(new RegExp(r"(ab|cd){3,4}", caseSensitive: false));
res.add(new RegExp(r"([ab]{,4}c|xy)", caseSensitive: false));
res.add(new RegExp(r"([ab]{1,4}c|xy){4,5}?123", caseSensitive: false));
res.add(new RegExp(r"\b.*", caseSensitive: false));
res.add(new RegExp(r"\b.*", caseSensitive: false));
res.add(new RegExp(r"(?!.bcd).*", caseSensitive: false));
res.add(new RegExp(r"abcde", caseSensitive: false));
res.add(new RegExp(r"0{0,2}ABC", caseSensitive: false));
res.add(new RegExp(r"\d{3,}ABC", caseSensitive: false));
res.add(new RegExp(r"\d*ABC", caseSensitive: false));
res.add(new RegExp(r"[abc]+DE", caseSensitive: false));
res.add(new RegExp(r"[abc]?123", caseSensitive: false));
res.add(new RegExp(r"^(?:\d){3,5}X", caseSensitive: false));
res.add(new RegExp(r"^a", caseSensitive: false));
res.add(new RegExp(r"line\nbreak", caseSensitive: false));
res.add(new RegExp(r"line\nbreak", caseSensitive: false));
res.add(new RegExp(r"line\nbreak", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"ab.cd", caseSensitive: false));
res.add(new RegExp(r"ab.cd", caseSensitive: false));
res.add(new RegExp(r"a(b)c", caseSensitive: false));
res.add(new RegExp(
r"Inthisnexttest,Jisnotsetattheouterlevel;consequentlyitisn'tsetinthepattern'soptions;consequentlypcre_get_named_substring()producesarandomvalue.",
caseSensitive: false));
res.add(new RegExp(r"\777", caseSensitive: false));
res.add(new RegExp(r"\s*,\s*", caseSensitive: false));
res.add(new RegExp(r"^abc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"abc$", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"^abc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"^abc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"^abc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"^abc", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r".*", caseSensitive: false));
res.add(new RegExp(r"\w+(.)(.)?def", caseSensitive: false));
res.add(new RegExp(
r"()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(.(.))",
caseSensitive: false));
res.add(new RegExp(r"()[ab]xyz", caseSensitive: false));
res.add(new RegExp(r"(|)[ab]xyz", caseSensitive: false));
res.add(new RegExp(r"(|c)[ab]xyz", caseSensitive: false));
res.add(new RegExp(r"(|c?)[ab]xyz", caseSensitive: false));
res.add(new RegExp(r"(d?|c?)[ab]xyz", caseSensitive: false));
res.add(new RegExp(r"(d?|c)[ab]xyz", caseSensitive: false));
res.add(new RegExp(r"^a*b\d"));
res.add(new RegExp(r"^a*?b\d"));
res.add(new RegExp(r"^a+A\d"));
res.add(new RegExp(r"^a*A\d", caseSensitive: false));
res.add(new RegExp(r"(a*|b*)[cd]", caseSensitive: false));
res.add(new RegExp(r"(a+|b*)[cd]", caseSensitive: false));
res.add(new RegExp(r"(a*|b+)[cd]", caseSensitive: false));
res.add(new RegExp(r"(a+|b+)[cd]", caseSensitive: false));
res.add(new RegExp(
r"(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",
caseSensitive: false));
res.add(new RegExp(r"a*\d"));
res.add(new RegExp(r"a*\D"));
res.add(new RegExp(r"0*\d"));
res.add(new RegExp(r"0*\D"));
res.add(new RegExp(r"a*\s"));
res.add(new RegExp(r"a*\S"));
res.add(new RegExp(r" *\s"));
res.add(new RegExp(r" *\S"));
res.add(new RegExp(r"a*\w"));
res.add(new RegExp(r"a*\W"));
res.add(new RegExp(r"=*\w"));
res.add(new RegExp(r"=*\W"));
res.add(new RegExp(r"\d*a"));
res.add(new RegExp(r"\d*2"));
res.add(new RegExp(r"\d*\d"));
res.add(new RegExp(r"\d*\D"));
res.add(new RegExp(r"\d*\s"));
res.add(new RegExp(r"\d*\S"));
res.add(new RegExp(r"\d*\w"));
res.add(new RegExp(r"\d*\W"));
res.add(new RegExp(r"\D*a"));
res.add(new RegExp(r"\D*2"));
res.add(new RegExp(r"\D*\d"));
res.add(new RegExp(r"\D*\D"));
res.add(new RegExp(r"\D*\s"));
res.add(new RegExp(r"\D*\S"));
res.add(new RegExp(r"\D*\w"));
res.add(new RegExp(r"\D*\W"));
res.add(new RegExp(r"\s*a"));
res.add(new RegExp(r"\s*2"));
res.add(new RegExp(r"\s*\d"));
res.add(new RegExp(r"\s*\D"));
res.add(new RegExp(r"\s*\s"));
res.add(new RegExp(r"\s*\S"));
res.add(new RegExp(r"\s*\w"));
res.add(new RegExp(r"\s*\W"));
res.add(new RegExp(r"\S*a"));
res.add(new RegExp(r"\S*2"));
res.add(new RegExp(r"\S*\d"));
res.add(new RegExp(r"\S*\D"));
res.add(new RegExp(r"\S*\s"));
res.add(new RegExp(r"\S*\S"));
res.add(new RegExp(r"\S*\w"));
res.add(new RegExp(r"\S*\W"));
res.add(new RegExp(r"\w*a"));
res.add(new RegExp(r"\w*2"));
res.add(new RegExp(r"\w*\d"));
res.add(new RegExp(r"\w*\D"));
res.add(new RegExp(r"\w*\s"));
res.add(new RegExp(r"\w*\S"));
res.add(new RegExp(r"\w*\w"));
res.add(new RegExp(r"\w*\W"));
res.add(new RegExp(r"\W*a"));
res.add(new RegExp(r"\W*2"));
res.add(new RegExp(r"\W*\d"));
res.add(new RegExp(r"\W*\D"));
res.add(new RegExp(r"\W*\s"));
res.add(new RegExp(r"\W*\S"));
res.add(new RegExp(r"\W*\w"));
res.add(new RegExp(r"\W*\W"));
res.add(new RegExp(r"[^a]+a"));
res.add(new RegExp(r"[^a]+a", caseSensitive: false));
res.add(new RegExp(r"[^a]+A", caseSensitive: false));
res.add(new RegExp(r"[^a]+b"));
res.add(new RegExp(r"[^a]+\d"));
res.add(new RegExp(r"a*[^a]"));
res.add(new RegExp(r"^(?:(?:\1|X)(a|b))+"));
res.add(new RegExp(r"^[\E\Qa\E-\Qz\E]+"));
res.add(new RegExp(r"^[a\Q]bc\E]"));
res.add(new RegExp(r"(?=(\w+))\1:", caseSensitive: false));
res.add(new RegExp(r"(a|)*\d"));
res.add(new RegExp(r"^a.b"));
res.add(new RegExp(r"^abc.", multiLine: true));
res.add(new RegExp(r"abc.$", multiLine: true));
res.add(new RegExp(r"a"));
res.add(new RegExp(r"a"));
res.add(new RegExp(r"^a\Rb", caseSensitive: false));
res.add(new RegExp(r"^a\R*b", caseSensitive: false));
res.add(new RegExp(r"^a\R+b", caseSensitive: false));
res.add(new RegExp(r"^a\R{1,3}b", caseSensitive: false));
res.add(new RegExp(r"^a[\R]b", caseSensitive: false));
res.add(new RegExp(r"^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z"));
res.add(new RegExp(r"^(a)\g-2"));
res.add(new RegExp(r"^(a)\g"));
res.add(new RegExp(r"^(a)\g{0}"));
res.add(new RegExp(r"^(a)\g{3"));
res.add(new RegExp(r"^(a)\g{4a}"));
res.add(new RegExp(r"^a.b"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r"^$", multiLine: true));
res.add(new RegExp(r"abc.$", multiLine: true));
res.add(new RegExp(r"^X", multiLine: true));
res.add(new RegExp(r"(foo)\Kbar"));
res.add(new RegExp(r"(foo)(\Kbar|baz)"));
res.add(new RegExp(r"(foo\Kbar)baz"));
res.add(new RegExp(r"\g{A"));
res.add(new RegExp(r"\H\h\V\v"));
res.add(new RegExp(r"\H*\h+\V?\v{3,4}"));
res.add(new RegExp(r"\H{3,4}"));
res.add(new RegExp(r".\h{3,4}."));
res.add(new RegExp(r"\h*X\h?\H+Y\H?Z"));
res.add(new RegExp(r"\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c"));
res.add(new RegExp(r"[\h]"));
res.add(new RegExp(r"[\h]+"));
res.add(new RegExp(r"[\v]"));
res.add(new RegExp(r"[\H]"));
res.add(new RegExp(r"[^\h]"));
res.add(new RegExp(r"[\V]"));
res.add(new RegExp(r"[\x0a\V]"));
res.add(new RegExp(r"\H+\hY"));
res.add(new RegExp(r"\H+ Y"));
res.add(new RegExp(r"\h+A"));
res.add(new RegExp(r"\v*B"));
res.add(new RegExp(r"\V+\x0a"));
res.add(new RegExp(r"A+\h"));
res.add(new RegExp(r" *\H"));
res.add(new RegExp(r"A*\v"));
res.add(new RegExp(r"\x0b*\V"));
res.add(new RegExp(r"\d+\h"));
res.add(new RegExp(r"\d*\v"));
res.add(new RegExp(r"S+\h\S+\v"));
res.add(new RegExp(r"\w{3,}\h\w+\v"));
res.add(new RegExp(r"\h+\d\h+\w\h+\S\h+\H"));
res.add(new RegExp(r"\v+\d\v+\w\v+\S\v+\V"));
res.add(new RegExp(r"\H+\h\H+\d"));
res.add(new RegExp(r"\V+\v\V+\w"));
res.add(new RegExp(r"[\E]AAA"));
res.add(new RegExp(r"[\Q\E]AAA"));
res.add(new RegExp(r"[^\E]AAA"));
res.add(new RegExp(r"[^\Q\E]AAA"));
res.add(new RegExp(r"[\E^]AAA"));
res.add(new RegExp(r"[\Q\E^]AAA"));
res.add(new RegExp(r"\g6666666666"));
res.add(new RegExp(r"[\g6666666666]"));
res.add(new RegExp(r".+A"));
res.add(new RegExp(r"\nA"));
res.add(new RegExp(r"[\r\n]A"));
res.add(new RegExp(r"(\r|\n)A"));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"a\R{2,4}b", caseSensitive: false));
res.add(new RegExp(r"a\R{2,4}b", caseSensitive: false));
res.add(new RegExp(r"\k''"));
res.add(new RegExp(r"\k<>"));
res.add(new RegExp(r"\k{}"));
res.add(new RegExp(r"[[:foo:]]"));
res.add(new RegExp(r"[[:1234:]]"));
res.add(new RegExp(r"[[:f\oo:]]"));
res.add(new RegExp(r"[[: :]]"));
res.add(new RegExp(r"[[:...:]]"));
res.add(new RegExp(r"[[:l\ower:]]"));
res.add(new RegExp(r"[[:abc\:]]"));
res.add(new RegExp(r"[abc[:x\]pqr:]]"));
res.add(new RegExp(r"[[:a\dz:]]"));
res.add(new RegExp(r"^(a|b\g<1>c)"));
res.add(new RegExp(r"^(a|b\g'1'c)"));
res.add(new RegExp(r"^(a|b\g'-1'c)"));
res.add(new RegExp(r"(^(a|b\g<-1>c))"));
res.add(new RegExp(r"(^(a|b\g<-1'c))"));
res.add(new RegExp(r"(^(a|b\g{-1}))"));
res.add(new RegExp(r"(\3)(\1)(a)"));
res.add(new RegExp(r"(\3)(\1)(a)"));
res.add(new RegExp(r"TA]"));
res.add(new RegExp(r"TA]"));
res.add(new RegExp(r"a[]b"));
res.add(new RegExp(r"a[^]b"));
res.add(new RegExp(r"a[]b"));
res.add(new RegExp(r"a[]+b"));
res.add(new RegExp(r"a[^]b"));
res.add(new RegExp(r"a[^]+b"));
res.add(new RegExp(r"a(?!)+b"));
res.add(new RegExp(r"(abc|pqr|123){0}[xyz]", caseSensitive: false));
res.add(new RegExp(r" End of testinput2 "));
res.add(new RegExp(r"a.b"));
res.add(new RegExp(r"a(.{3})b"));
res.add(new RegExp(r"a(.*?)(.)"));
res.add(new RegExp(r"a(.*?)(.)"));
res.add(new RegExp(r"a(.*)(.)"));
res.add(new RegExp(r"a(.*)(.)"));
res.add(new RegExp(r"a(.)(.)"));
res.add(new RegExp(r"a(.)(.)"));
res.add(new RegExp(r"a(.?)(.)"));
res.add(new RegExp(r"a(.?)(.)"));
res.add(new RegExp(r"a(.??)(.)"));
res.add(new RegExp(r"a(.??)(.)"));
res.add(new RegExp(r"a(.{3})b"));
res.add(new RegExp(r"a(.{3,})b"));
res.add(new RegExp(r"a(.{3,}?)b"));
res.add(new RegExp(r"a(.{3,5})b"));
res.add(new RegExp(r"a(.{3,5}?)b"));
res.add(new RegExp(r"X(\C{3})"));
res.add(new RegExp(r"X(\C{4})"));
res.add(new RegExp(r"X\C*"));
res.add(new RegExp(r"X\C*?"));
res.add(new RegExp(r"X\C{3,5}"));
res.add(new RegExp(r"X\C{3,5}?"));
res.add(new RegExp(r"[^a]+"));
res.add(new RegExp(r"^[^a]{2}"));
res.add(new RegExp(r"^[^a]{2,}"));
res.add(new RegExp(r"^[^a]{2,}?"));
res.add(new RegExp(r"[^a]+", caseSensitive: false));
res.add(new RegExp(r"^[^a]{2}", caseSensitive: false));
res.add(new RegExp(r"^[^a]{2,}", caseSensitive: false));
res.add(new RegExp(r"^[^a]{2,}?", caseSensitive: false));
res.add(new RegExp(r"\D*"));
res.add(new RegExp(r"\D*"));
res.add(new RegExp(r"\D"));
res.add(new RegExp(r">\S"));
res.add(new RegExp(r"\d"));
res.add(new RegExp(r"\s"));
res.add(new RegExp(r"\D+"));
res.add(new RegExp(r"\D{2,3}"));
res.add(new RegExp(r"\D{2,3}?"));
res.add(new RegExp(r"\d+"));
res.add(new RegExp(r"\d{2,3}"));
res.add(new RegExp(r"\d{2,3}?"));
res.add(new RegExp(r"\S+"));
res.add(new RegExp(r"\S{2,3}"));
res.add(new RegExp(r"\S{2,3}?"));
res.add(new RegExp(r">\s+<"));
res.add(new RegExp(r">\s{2,3}<"));
res.add(new RegExp(r">\s{2,3}?<"));
res.add(new RegExp(r"\w+"));
res.add(new RegExp(r"\w{2,3}"));
res.add(new RegExp(r"\w{2,3}?"));
res.add(new RegExp(r"\W+"));
res.add(new RegExp(r"\W{2,3}"));
res.add(new RegExp(r"\W{2,3}?"));
res.add(new RegExp(r"a\Cb"));
res.add(new RegExp(r"a\Cb"));
res.add(new RegExp(r"[\xFF]"));
res.add(new RegExp(r"[\xff]"));
res.add(new RegExp(r"[^\xFF]"));
res.add(new RegExp(r"[^\xff]"));
res.add(new RegExp(r"^[ac]*b"));
res.add(new RegExp(r"^[^x]*b", caseSensitive: false));
res.add(new RegExp(r"^[^x]*b"));
res.add(new RegExp(r"^\d*b"));
res.add(new RegExp(r"(|a)"));
res.add(new RegExp(r"\S\S"));
res.add(new RegExp(r"\S{2}"));
res.add(new RegExp(r"\W\W"));
res.add(new RegExp(r"\W{2}"));
res.add(new RegExp(r"\S"));
res.add(new RegExp(r"[\S]"));
res.add(new RegExp(r"\D"));
res.add(new RegExp(r"[\D]"));
res.add(new RegExp(r"\W"));
res.add(new RegExp(r"[\W]"));
res.add(new RegExp(r"[\S\s]*"));
res.add(new RegExp(r".[^\S]."));
res.add(new RegExp(r".[^\S\n]."));
res.add(new RegExp(r"[[:^alnum:]]"));
res.add(new RegExp(r"[[:^alpha:]]"));
res.add(new RegExp(r"[[:^ascii:]]"));
res.add(new RegExp(r"[[:^blank:]]"));
res.add(new RegExp(r"[[:^cntrl:]]"));
res.add(new RegExp(r"[[:^digit:]]"));
res.add(new RegExp(r"[[:^graph:]]"));
res.add(new RegExp(r"[[:^lower:]]"));
res.add(new RegExp(r"[[:^print:]]"));
res.add(new RegExp(r"[[:^punct:]]"));
res.add(new RegExp(r"[[:^space:]]"));
res.add(new RegExp(r"[[:^upper:]]"));
res.add(new RegExp(r"[[:^word:]]"));
res.add(new RegExp(r"[[:^xdigit:]]"));
res.add(new RegExp(r"^[^d]*?$"));
res.add(new RegExp(r"^[^d]*?$"));
res.add(new RegExp(r"^[^d]*?$", caseSensitive: false));
res.add(new RegExp(r"^[^d]*?$", caseSensitive: false));
res.add(new RegExp(r" End of testinput4 "));
res.add(new RegExp(r"\x80"));
res.add(new RegExp(r"\xff"));
res.add(new RegExp(r".{3,5}X"));
res.add(new RegExp(r".{3,5}?"));
res.add(new RegExp(r"X(\C)(.*)"));
res.add(new RegExp(r"^[ab]"));
res.add(new RegExp(r"^[^ab]"));
res.add(new RegExp(r"[^ab\xC0-\xF0]"));
res.add(new RegExp(r"[\xFF]"));
res.add(new RegExp(r"[\xff]"));
res.add(new RegExp(r"[^\xFF]"));
res.add(new RegExp(r"[^\xff]"));
res.add(new RegExp(r"anything"));
res.add(new RegExp(r"\W"));
res.add(new RegExp(r"\w"));
res.add(new RegExp(r"\777", caseSensitive: false));
res.add(new RegExp(r"\777", caseSensitive: false));
res.add(new RegExp(r"^abc.", multiLine: true));
res.add(new RegExp(r"abc.$", multiLine: true));
res.add(new RegExp(r"^a\Rb", caseSensitive: false));
res.add(new RegExp(r"^a\R*b", caseSensitive: false));
res.add(new RegExp(r"^a\R+b", caseSensitive: false));
res.add(new RegExp(r"^a\R{1,3}b", caseSensitive: false));
res.add(new RegExp(r"\H\h\V\v"));
res.add(new RegExp(r"\H*\h+\V?\v{3,4}"));
res.add(new RegExp(r"\H\h\V\v"));
res.add(new RegExp(r"\H*\h+\V?\v{3,4}"));
res.add(new RegExp(r"[\h]"));
res.add(new RegExp(r"[\h]{3,}"));
res.add(new RegExp(r"[\v]"));
res.add(new RegExp(r"[\H]"));
res.add(new RegExp(r"[\V]"));
res.add(new RegExp(r".*$"));
res.add(new RegExp(r"X"));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r".*a.*=.b.*"));
res.add(new RegExp(r"a[^]b"));
res.add(new RegExp(r"a[^]+b"));
res.add(new RegExp(r"X"));
res.add(new RegExp(r" End of testinput5 "));
res.add(new RegExp(r"^\pC\pL\pM\pN\pP\pS\pZ<"));
res.add(new RegExp(r"^\PC"));
res.add(new RegExp(r"^\PL"));
res.add(new RegExp(r"^\PM"));
res.add(new RegExp(r"^\PN"));
res.add(new RegExp(r"^\PP"));
res.add(new RegExp(r"^\PS"));
res.add(new RegExp(r"^\PZ"));
res.add(new RegExp(r"^\p{Cc}"));
res.add(new RegExp(r"^\p{Cf}"));
res.add(new RegExp(r"^\p{Cn}"));
res.add(new RegExp(r"^\p{Co}"));
res.add(new RegExp(r"^\p{Cs}"));
res.add(new RegExp(r"^\p{Ll}"));
res.add(new RegExp(r"^\p{Lm}"));
res.add(new RegExp(r"^\p{Lo}"));
res.add(new RegExp(r"^\p{Lt}"));
res.add(new RegExp(r"^\p{Lu}"));
res.add(new RegExp(r"^\p{Mc}"));
res.add(new RegExp(r"^\p{Me}"));
res.add(new RegExp(r"^\p{Mn}"));
res.add(new RegExp(r"^\p{Nl}"));
res.add(new RegExp(r"^\p{No}"));
res.add(new RegExp(r"^\p{Pc}"));
res.add(new RegExp(r"^\p{Pd}"));
res.add(new RegExp(r"^\p{Pe}"));
res.add(new RegExp(r"^\p{Pf}"));
res.add(new RegExp(r"^\p{Pi}"));
res.add(new RegExp(r"^\p{Po}"));
res.add(new RegExp(r"^\p{Ps}"));
res.add(new RegExp(r"^\p{Sk}"));
res.add(new RegExp(r"^\p{So}"));
res.add(new RegExp(r"^\p{Zl}"));
res.add(new RegExp(r"^\p{Zp}"));
res.add(new RegExp(r"^\p{Zs}"));
res.add(new RegExp(r"\p{Nd}{2,}(..)"));
res.add(new RegExp(r"\p{Nd}{2,}?(..)"));
res.add(new RegExp(r"\p{Nd}*(..)"));
res.add(new RegExp(r"\p{Nd}*?(..)"));
res.add(new RegExp(r"\p{Nd}{2}(..)"));
res.add(new RegExp(r"\p{Nd}{2,3}(..)"));
res.add(new RegExp(r"\p{Nd}{2,3}?(..)"));
res.add(new RegExp(r"\p{Nd}?(..)"));
res.add(new RegExp(r"\p{Nd}??(..)"));
res.add(new RegExp(r"\p{Lu}", caseSensitive: false));
res.add(new RegExp(r"\p{^Lu}", caseSensitive: false));
res.add(new RegExp(r"\P{Lu}", caseSensitive: false));
res.add(new RegExp(r"[\p{L}]"));
res.add(new RegExp(r"[\p{^L}]"));
res.add(new RegExp(r"[\P{L}]"));
res.add(new RegExp(r"[\P{^L}]"));
res.add(new RegExp(r"[\p{Nd}]"));
res.add(new RegExp(r"[\P{Nd}]+"));
res.add(new RegExp(r"\D+"));
res.add(new RegExp(r"[\D]+"));
res.add(new RegExp(r"[\P{Nd}]+"));
res.add(new RegExp(r"[\D\P{Nd}]+"));
res.add(new RegExp(r"\pL"));
res.add(new RegExp(r"\pL", caseSensitive: false));
res.add(new RegExp(r"\p{Lu}"));
res.add(new RegExp(r"\p{Lu}", caseSensitive: false));
res.add(new RegExp(r"\p{Ll}"));
res.add(new RegExp(r"\p{Ll}", caseSensitive: false));
res.add(new RegExp(r"^\X"));
res.add(new RegExp(r"^[\X]"));
res.add(new RegExp(r"^(\X*)C"));
res.add(new RegExp(r"^(\X*?)C"));
res.add(new RegExp(r"^(\X*)(.)"));
res.add(new RegExp(r"^(\X*?)(.)"));
res.add(new RegExp(r"^\X(.)"));
res.add(new RegExp(r"^\X{2,3}(.)"));
res.add(new RegExp(r"^\X{2,3}?(.)"));
res.add(new RegExp(r"^[\p{Arabic}]"));
res.add(new RegExp(r"^[\P{Yi}]"));
res.add(new RegExp(r"^\p{Any}X"));
res.add(new RegExp(r"^\P{Any}X"));
res.add(new RegExp(r"^\p{Any}?X"));
res.add(new RegExp(r"^\P{Any}?X"));
res.add(new RegExp(r"^\p{Any}*X"));
res.add(new RegExp(r"^\P{Any}*X"));
res.add(new RegExp(r"^[\p{Any}]X"));
res.add(new RegExp(r"^[\P{Any}]X"));
res.add(new RegExp(r"^[\p{Any}]?X"));
res.add(new RegExp(r"^[\P{Any}]?X"));
res.add(new RegExp(r"^[\p{Any}]+X"));
res.add(new RegExp(r"^[\P{Any}]+X"));
res.add(new RegExp(r"^[\p{Any}]*X"));
res.add(new RegExp(r"^[\P{Any}]*X"));
res.add(new RegExp(r"^\p{Any}{3,5}?"));
res.add(new RegExp(r"^\p{Any}{3,5}"));
res.add(new RegExp(r"^\P{Any}{3,5}?"));
res.add(new RegExp(r"^\p{L&}X"));
res.add(new RegExp(r"^[\p{L&}]X"));
res.add(new RegExp(r"^[\p{L&}]+X"));
res.add(new RegExp(r"^[\p{L&}]+?X"));
res.add(new RegExp(r"^\P{L&}X"));
res.add(new RegExp(r"^[\P{L&}]X"));
res.add(new RegExp(r"^(\p{Z}[^\p{C}\p{Z}]+)*$"));
res.add(new RegExp(r"([\pL]=(abc))*X"));
res.add(new RegExp(
r"^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}"));
res.add(new RegExp(
r"The next two are special cases where the lengths of the different cases of the \nsame character differ. The first went wrong with heap frame storage; the 2nd\nwas broken in all cases."));
res.add(new RegExp(r"Check property support in non-UTF-8 mode"));
res.add(new RegExp(r"\p{L}{4}"));
res.add(new RegExp(r"\X{1,3}\d"));
res.add(new RegExp(r"\X?\d"));
res.add(new RegExp(r"\P{L}?\d"));
res.add(new RegExp(r"[\PPP\x8a]{1,}\x80"));
res.add(new RegExp(r"(?:[\PPa*]*){8,}"));
res.add(new RegExp(r"[\P{Any}]"));
res.add(new RegExp(r"[\P{Any}\E]"));
res.add(new RegExp(r"(\P{Yi}{2}\277)?"));
res.add(new RegExp(r"[\P{Yi}A]"));
res.add(new RegExp(r"[\P{Yi}\P{Yi}\P{Yi}A]"));
res.add(new RegExp(r"[^\P{Yi}A]"));
res.add(new RegExp(r"[^\P{Yi}\P{Yi}\P{Yi}A]"));
res.add(new RegExp(r"(\P{Yi}*\277)*"));
res.add(new RegExp(r"(\P{Yi}*?\277)*"));
res.add(new RegExp(r"(\P{Yi}?\277)*"));
res.add(new RegExp(r"(\P{Yi}??\277)*"));
res.add(new RegExp(r"(\P{Yi}{0,3}\277)*"));
res.add(new RegExp(r"(\P{Yi}{0,3}?\277)*"));
res.add(new RegExp(r"^[\p{Arabic}]"));
res.add(new RegExp(r"^\p{Cyrillic}"));
res.add(new RegExp(r"^\p{Common}"));
res.add(new RegExp(r"^\p{Inherited}"));
res.add(new RegExp(r"^\p{Shavian}"));
res.add(new RegExp(r"^\p{Deseret}"));
res.add(new RegExp(r"^\p{Osmanya}"));
res.add(new RegExp(r"\p{Zl}"));
res.add(new RegExp(
r"\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}"));
res.add(new RegExp(r"(A)\1", caseSensitive: false));
res.add(new RegExp(r" End of testinput6 "));
res.add(new RegExp(r"abc"));
res.add(new RegExp(r"ab*c"));
res.add(new RegExp(r"ab+c"));
res.add(new RegExp(r"a*"));
res.add(new RegExp(r"(a|abcd|african)"));
res.add(new RegExp(r"^abc"));
res.add(new RegExp(r"^abc", multiLine: true));
res.add(new RegExp(r"\Aabc"));
res.add(new RegExp(r"\Aabc", multiLine: true));
res.add(new RegExp(r"\Gabc"));
res.add(new RegExp(r"x\dy\Dz"));
res.add(new RegExp(r"x\sy\Sz"));
res.add(new RegExp(r"x\wy\Wz"));
res.add(new RegExp(r"x.y"));
res.add(new RegExp(r"x.y"));
res.add(new RegExp(r"a\d\z"));
res.add(new RegExp(r"a\d\z", multiLine: true));
res.add(new RegExp(r"a\d\Z"));
res.add(new RegExp(r"a\d\Z", multiLine: true));
res.add(new RegExp(r"a\d$"));
res.add(new RegExp(r"a\d$", multiLine: true));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"[^a]"));
res.add(new RegExp(r"ab?\w"));
res.add(new RegExp(r"x{0,3}yz"));
res.add(new RegExp(r"x{3}yz"));
res.add(new RegExp(r"x{2,3}yz"));
res.add(new RegExp(r"[^a]+"));
res.add(new RegExp(r"[^a]*"));
res.add(new RegExp(r"[^a]{3,5}"));
res.add(new RegExp(r"\d*"));
res.add(new RegExp(r"\D*"));
res.add(new RegExp(r"\d+"));
res.add(new RegExp(r"\D+"));
res.add(new RegExp(r"\d?A"));
res.add(new RegExp(r"\D?A"));
res.add(new RegExp(r"a+"));
res.add(new RegExp(r"^.*xyz"));
res.add(new RegExp(r"^.+xyz"));
res.add(new RegExp(r"^.?xyz"));
res.add(new RegExp(r"^\d{2,3}X"));
res.add(new RegExp(r"^[abcd]\d"));
res.add(new RegExp(r"^[abcd]*\d"));
res.add(new RegExp(r"^[abcd]+\d"));
res.add(new RegExp(r"^a+X"));
res.add(new RegExp(r"^[abcd]?\d"));
res.add(new RegExp(r"^[abcd]{2,3}\d"));
res.add(new RegExp(r"^(abc)*\d"));
res.add(new RegExp(r"^(abc)+\d"));
res.add(new RegExp(r"^(abc)?\d"));
res.add(new RegExp(r"^(abc){2,3}\d"));
res.add(new RegExp(r"^(a*\w|ab)=(a*\w|ab)"));
res.add(new RegExp(r"^(?=abc)\w{5}:$"));
res.add(new RegExp(r"^(?!abc)\d\d$"));
res.add(new RegExp(r"(ab|cd){3,4}"));
res.add(new RegExp(r"^abc"));
res.add(new RegExp(r"^(a*|xyz)"));
res.add(new RegExp(r"xyz$"));
res.add(new RegExp(r"xyz$", multiLine: true));
res.add(new RegExp(r"\Gabc"));
res.add(new RegExp(r"^abcdef"));
res.add(new RegExp(r"^a{2,4}\d+z"));
res.add(new RegExp(r"^abcdef"));
res.add(new RegExp(r"(ab*(cd|ef))+X"));
res.add(new RegExp(r"the quick brown fox"));
res.add(new RegExp(r"The quick brown fox", caseSensitive: false));
res.add(new RegExp(r"abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz"));
res.add(new RegExp(r"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz"));
res.add(new RegExp(r"^(abc){1,2}zz"));
res.add(new RegExp(r"^(b+?|a){1,2}?c"));
res.add(new RegExp(r"^(b+|a){1,2}c"));
res.add(new RegExp(r"^(b*|ba){1,2}?bc"));
res.add(new RegExp(r"^(ba|b*){1,2}?bc"));
res.add(new RegExp(r"^[ab\]cde]"));
res.add(new RegExp(r"^[]cde]"));
res.add(new RegExp(r"^[^ab\]cde]"));
res.add(new RegExp(r"^[^]cde]"));
res.add(new RegExp(r"^[0-9]+$"));
res.add(new RegExp(r"^.*nter"));
res.add(new RegExp(r"^xxx[0-9]+$"));
res.add(new RegExp(r"^.+[0-9][0-9][0-9]$"));
res.add(new RegExp(r"^.+?[0-9][0-9][0-9]$"));
res.add(new RegExp(r"^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$"));
res.add(new RegExp(r":"));
res.add(new RegExp(r"([\da-f:]+)$", caseSensitive: false));
res.add(new RegExp(r"^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$"));
res.add(new RegExp(r"^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$"));
res.add(
new RegExp(r"^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$"));
res.add(new RegExp(
r"^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$"));
res.add(new RegExp(r"^(?=ab(de))(abd)(e)"));
res.add(new RegExp(r"^(?!(ab)de|x)(abd)(f)"));
res.add(new RegExp(r"^(?=(ab(cd)))(ab)"));
res.add(new RegExp(r"^[\da-f](\.[\da-f])*$", caseSensitive: false));
res.add(new RegExp(r'^\".*\"\s*(;.*)?$'));
res.add(new RegExp(r"^$"));
res.add(new RegExp(r"^ab\sc$"));
res.add(new RegExp(r"^a\ b[c]d$"));
res.add(new RegExp(r"^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$"));
res.add(new RegExp(r"^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$"));
res.add(new RegExp(r"^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]"));
res.add(new RegExp(r"^a*\w"));
res.add(new RegExp(r"^a*?\w"));
res.add(new RegExp(r"^a+\w"));
res.add(new RegExp(r"^a+?\w"));
res.add(new RegExp(r"^\d{8}\w{2,}"));
res.add(new RegExp(r"^[aeiou\d]{4,5}$"));
res.add(new RegExp(r"^[aeiou\d]{4,5}?"));
res.add(new RegExp(
r"^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]"));
res.add(new RegExp(r"^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d"));
res.add(new RegExp(r"^12.34"));
res.add(new RegExp(r"\w+(?=\t)"));
res.add(new RegExp(r"foo(?!bar)(.*)"));
res.add(new RegExp(r"(?:(?!foo)...|^.{0,2})bar(.*)"));
res.add(new RegExp(r"^(\D*)(?=\d)(?!123)"));
res.add(new RegExp(r"^1234"));
res.add(new RegExp(r"^1234"));
res.add(new RegExp(r"abcd"));
res.add(new RegExp(r"^abcd"));
res.add(new RegExp(r"(?!^)abc"));
res.add(new RegExp(r"(?=^)abc"));
res.add(new RegExp(r"^[ab]{1,3}(ab*|b)"));
res.add(new RegExp(r"^[ab]{1,3}?(ab*|b)"));
res.add(new RegExp(r"^[ab]{1,3}?(ab*?|b)"));
res.add(new RegExp(r"^[ab]{1,3}(ab*?|b)"));
res.add(new RegExp(
r'(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*"))*(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*|(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")(?:[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\)|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")*<(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*,(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*)*:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*)?(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*"))*(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*>)(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*'));
res.add(new RegExp(
r'[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*|(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]*(?:(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]*)*<[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*(?:,[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*)*:[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)?(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*>)'));
res.add(new RegExp(r"abc\x0def\x00pqr\x000xyz\x0000AB"));
res.add(new RegExp(r"^[\000-\037]"));
res.add(new RegExp(r"\0*"));
res.add(new RegExp(r"A\x0{2,3}Z"));
res.add(new RegExp(r"^\s"));
res.add(new RegExp(r"^abc"));
res.add(new RegExp(r"ab{1,3}bc"));
res.add(new RegExp(r"([^.]*)\.([^:]*):[T ]+(.*)"));
res.add(new RegExp(r"([^.]*)\.([^:]*):[T ]+(.*)", caseSensitive: false));
res.add(new RegExp(r"([^.]*)\.([^:]*):[t ]+(.*)", caseSensitive: false));
res.add(new RegExp(r"^[W-c]+$"));
res.add(new RegExp(r"^[W-c]+$", caseSensitive: false));
res.add(new RegExp(r"^[\x3f-\x5F]+$", caseSensitive: false));
res.add(new RegExp(r"^abc$", multiLine: true));
res.add(new RegExp(r"^abc$"));
res.add(new RegExp(r"\Aabc\Z", multiLine: true));
res.add(new RegExp(r"\A(.)*\Z"));
res.add(new RegExp(r"\A(.)*\Z", multiLine: true));
res.add(new RegExp(r"(?:b)|(?::+)"));
res.add(new RegExp(r"[-az]+"));
res.add(new RegExp(r"[az-]+"));
res.add(new RegExp(r"[a\-z]+"));
res.add(new RegExp(r"[a-z]+"));
res.add(new RegExp(r"[\d-]+"));
res.add(new RegExp(r"[\d-z]+"));
res.add(new RegExp(r"\x5c"));
res.add(new RegExp(r"\x20Z"));
res.add(new RegExp(r"ab{3cd"));
res.add(new RegExp(r"ab{3,cd"));
res.add(new RegExp(r"ab{3,4a}cd"));
res.add(new RegExp(r"{4,5a}bc"));
res.add(new RegExp(r"^a.b"));
res.add(new RegExp(r"abc$"));
res.add(new RegExp(r"(abc)\123"));
res.add(new RegExp(r"(abc)\223"));
res.add(new RegExp(r"(abc)\323"));
res.add(new RegExp(r"(abc)\100"));
res.add(new RegExp(r"abc\81"));
res.add(new RegExp(r"abc\91"));
res.add(new RegExp(r"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123"));
res.add(new RegExp(r"ab\idef"));
res.add(new RegExp(r"a{0}bc"));
res.add(new RegExp(r"(a|(bc)){0,0}?xyz"));
res.add(new RegExp(r"abc[\10]de"));
res.add(new RegExp(r"abc[\1]de"));
res.add(new RegExp(r"(abc)[\1]de"));
res.add(new RegExp(r"^([^a])([^\b])([^c]*)([^d]{3,4})"));
res.add(new RegExp(r"[^a]"));
res.add(new RegExp(r"[^a]", caseSensitive: false));
res.add(new RegExp(r"[^a]+"));
res.add(new RegExp(r"[^a]+", caseSensitive: false));
res.add(new RegExp(r"[^a]+"));
res.add(new RegExp(r"[^k]$"));
res.add(new RegExp(r"[^k]{2,3}$"));
res.add(new RegExp(r"^\d{8,}\@.+[^k]$"));
res.add(new RegExp(r"[^a]"));
res.add(new RegExp(r"[^a]", caseSensitive: false));
res.add(new RegExp(r"[^az]"));
res.add(new RegExp(r"[^az]", caseSensitive: false));
res.add(new RegExp(
r"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"));
res.add(new RegExp(r"P[^*]TAIRE[^*]{1,6}?LL"));
res.add(new RegExp(r"P[^*]TAIRE[^*]{1,}?LL"));
res.add(new RegExp(r"(\.\d\d[1-9]?)\d+"));
res.add(new RegExp(r"(\.\d\d((?=0)|\d(?=\d)))"));
res.add(new RegExp(r"\b(foo)\s+(\w+)", caseSensitive: false));
res.add(new RegExp(r"foo(.*)bar"));
res.add(new RegExp(r"foo(.*?)bar"));
res.add(new RegExp(r"(.*)(\d*)"));
res.add(new RegExp(r"(.*)(\d+)"));
res.add(new RegExp(r"(.*?)(\d*)"));
res.add(new RegExp(r"(.*?)(\d+)"));
res.add(new RegExp(r"(.*)(\d+)$"));
res.add(new RegExp(r"(.*?)(\d+)$"));
res.add(new RegExp(r"(.*)\b(\d+)$"));
res.add(new RegExp(r"(.*\D)(\d+)$"));
res.add(new RegExp(r"^\D*(?!123)"));
res.add(new RegExp(r"^(\D*)(?=\d)(?!123)"));
res.add(new RegExp(r"^[W-]46]"));
res.add(new RegExp(r"^[W-\]46]"));
res.add(new RegExp(r"\d\d\/\d\d\/\d\d\d\d"));
res.add(new RegExp(r"word (?:[a-zA-Z0-9]+ ){0,10}otherword"));
res.add(new RegExp(r"word (?:[a-zA-Z0-9]+ ){0,300}otherword"));
res.add(new RegExp(r"^(a){0,0}"));
res.add(new RegExp(r"^(a){0,1}"));
res.add(new RegExp(r"^(a){0,2}"));
res.add(new RegExp(r"^(a){0,3}"));
res.add(new RegExp(r"^(a){0,}"));
res.add(new RegExp(r"^(a){1,1}"));
res.add(new RegExp(r"^(a){1,2}"));
res.add(new RegExp(r"^(a){1,3}"));
res.add(new RegExp(r"^(a){1,}"));
res.add(new RegExp(r".*\.gif"));
res.add(new RegExp(r".{0,}\.gif"));
res.add(new RegExp(r".*\.gif", multiLine: true));
res.add(new RegExp(r".*\.gif"));
res.add(new RegExp(r".*\.gif", multiLine: true));
res.add(new RegExp(r".*$"));
res.add(new RegExp(r".*$", multiLine: true));
res.add(new RegExp(r".*$"));
res.add(new RegExp(r".*$", multiLine: true));
res.add(new RegExp(r".*$"));
res.add(new RegExp(r".*$", multiLine: true));
res.add(new RegExp(r".*$"));
res.add(new RegExp(r".*$", multiLine: true));
res.add(new RegExp(r"(.*X|^B)"));
res.add(new RegExp(r"(.*X|^B)", multiLine: true));
res.add(new RegExp(r"(.*X|^B)"));
res.add(new RegExp(r"(.*X|^B)", multiLine: true));
res.add(new RegExp(r"^.*B"));
res.add(new RegExp(
r"^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"));
res.add(new RegExp(r"^\d\d\d\d\d\d\d\d\d\d\d\d"));
res.add(new RegExp(r"^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]"));
res.add(new RegExp(r"^[abc]{12}"));
res.add(new RegExp(r"^[a-c]{12}"));
res.add(new RegExp(r"^(a|b|c){12}"));
res.add(new RegExp(r"^[abcdefghijklmnopqrstuvwxy0123456789]"));
res.add(new RegExp(r"abcde{0,0}"));
res.add(new RegExp(r"ab[cd]{0,0}e"));
res.add(new RegExp(r"ab(c){0,0}d"));
res.add(new RegExp(r"a(b*)"));
res.add(new RegExp(r"ab\d{0}e"));
res.add(new RegExp(r'"([^\\"]+|\\.)*"'));
res.add(new RegExp(r".*?"));
res.add(new RegExp(r"\b"));
res.add(new RegExp(r"\b"));
res.add(new RegExp(
r"<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>",
caseSensitive: false));
res.add(new RegExp(r"a[^a]b"));
res.add(new RegExp(r"a.b"));
res.add(new RegExp(r"a[^a]b"));
res.add(new RegExp(r"a.b"));
res.add(new RegExp(r"^(b+?|a){1,2}?c"));
res.add(new RegExp(r"^(b+|a){1,2}?c"));
res.add(new RegExp(r"(?!\A)x", multiLine: true));
res.add(new RegExp(r"\x0{ab}"));
res.add(new RegExp(r"(A|B)*?CD"));
res.add(new RegExp(r"(A|B)*CD"));
res.add(new RegExp(r"\Aabc\z", multiLine: true));
res.add(new RegExp(r"(\d+)(\w)"));
res.add(new RegExp(r"(a+|b+|c+)*c"));
res.add(new RegExp(r"(abc|)+"));
res.add(new RegExp(r"([a]*)*"));
res.add(new RegExp(r"([ab]*)*"));
res.add(new RegExp(r"([^a]*)*"));
res.add(new RegExp(r"([^ab]*)*"));
res.add(new RegExp(r"([a]*?)*"));
res.add(new RegExp(r"([ab]*?)*"));
res.add(new RegExp(r"([^a]*?)*"));
res.add(new RegExp(r"([^ab]*?)*"));
res.add(new RegExp(
r"The following tests are taken from the Perl 5.005 test suite; some of them"));
res.add(new RegExp(
r"are compatible with 5.004, but I'd rather not have to sort them out."));
res.add(new RegExp(r"abc"));
res.add(new RegExp(r"ab*c"));
res.add(new RegExp(r"ab*bc"));
res.add(new RegExp(r".{1}"));
res.add(new RegExp(r".{3,4}"));
res.add(new RegExp(r"ab{0,}bc"));
res.add(new RegExp(r"ab+bc"));
res.add(new RegExp(r"ab{1,}bc"));
res.add(new RegExp(r"ab+bc"));
res.add(new RegExp(r"ab{1,}bc"));
res.add(new RegExp(r"ab{1,3}bc"));
res.add(new RegExp(r"ab{3,4}bc"));
res.add(new RegExp(r"ab{4,5}bc"));
res.add(new RegExp(r"ab?bc"));
res.add(new RegExp(r"ab{0,1}bc"));
res.add(new RegExp(r"ab?bc"));
res.add(new RegExp(r"ab?c"));
res.add(new RegExp(r"ab{0,1}c"));
res.add(new RegExp(r"^abc$"));
res.add(new RegExp(r"^abc"));
res.add(new RegExp(r"^abc$"));
res.add(new RegExp(r"abc$"));
res.add(new RegExp(r"^"));
res.add(new RegExp(r"$"));
res.add(new RegExp(r"a.c"));
res.add(new RegExp(r"a.*c"));
res.add(new RegExp(r"a[bc]d"));
res.add(new RegExp(r"a[b-d]e"));
res.add(new RegExp(r"a[b-d]"));
res.add(new RegExp(r"a[-b]"));
res.add(new RegExp(r"a[b-]"));
res.add(new RegExp(r"a]"));
res.add(new RegExp(r"a[]]b"));
res.add(new RegExp(r"a[^bc]d"));
res.add(new RegExp(r"a[^-b]c"));
res.add(new RegExp(r"a[^]b]c"));
res.add(new RegExp(r"\ba\b"));
res.add(new RegExp(r"\by\b"));
res.add(new RegExp(r"\Ba\B"));
res.add(new RegExp(r"\By\b"));
res.add(new RegExp(r"\by\B"));
res.add(new RegExp(r"\By\B"));
res.add(new RegExp(r"\w"));
res.add(new RegExp(r"\W"));
res.add(new RegExp(r"a\sb"));
res.add(new RegExp(r"a\Sb"));
res.add(new RegExp(r"\d"));
res.add(new RegExp(r"\D"));
res.add(new RegExp(r"[\w]"));
res.add(new RegExp(r"[\W]"));
res.add(new RegExp(r"a[\s]b"));
res.add(new RegExp(r"a[\S]b"));
res.add(new RegExp(r"[\d]"));
res.add(new RegExp(r"[\D]"));
res.add(new RegExp(r"ab|cd"));
res.add(new RegExp(r"()ef"));
res.add(new RegExp(r"$b"));
res.add(new RegExp(r"a\(b"));
res.add(new RegExp(r"a\\b"));
res.add(new RegExp(r"((a))"));
res.add(new RegExp(r"(a)b(c)"));
res.add(new RegExp(r"a+b+c"));
res.add(new RegExp(r"a{1,}b{1,}c"));
res.add(new RegExp(r"a.+?c"));
res.add(new RegExp(r"(a+|b)*"));
res.add(new RegExp(r"(a+|b){0,}"));
res.add(new RegExp(r"(a+|b)+"));
res.add(new RegExp(r"(a+|b){1,}"));
res.add(new RegExp(r"(a+|b)?"));
res.add(new RegExp(r"(a+|b){0,1}"));
res.add(new RegExp(r"[^ab]*"));
res.add(new RegExp(r"abc"));
res.add(new RegExp(r"a*"));
res.add(new RegExp(r"([abc])*d"));
res.add(new RegExp(r"([abc])*bcd"));
res.add(new RegExp(r"a|b|c|d|e"));
res.add(new RegExp(r"(a|b|c|d|e)f"));
res.add(new RegExp(r"abcd*efg"));
res.add(new RegExp(r"ab*"));
res.add(new RegExp(r"(ab|cd)e"));
res.add(new RegExp(r"[abhgefdc]ij"));
res.add(new RegExp(r"^(ab|cd)e"));
res.add(new RegExp(r"(abc|)ef"));
res.add(new RegExp(r"(a|b)c*d"));
res.add(new RegExp(r"(ab|ab*)bc"));
res.add(new RegExp(r"a([bc]*)c*"));
res.add(new RegExp(r"a([bc]*)(c*d)"));
res.add(new RegExp(r"a([bc]+)(c*d)"));
res.add(new RegExp(r"a([bc]*)(c+d)"));
res.add(new RegExp(r"a[bcd]*dcdcde"));
res.add(new RegExp(r"a[bcd]+dcdcde"));
res.add(new RegExp(r"(ab|a)b*c"));
res.add(new RegExp(r"((a)(b)c)(d)"));
res.add(new RegExp(r"[a-zA-Z_][a-zA-Z0-9_]*"));
res.add(new RegExp(r"^a(bc+|b[eh])g|.h$"));
res.add(new RegExp(r"(bc+d$|ef*g.|h?i(j|k))"));
res.add(new RegExp(r"((((((((((a))))))))))"));
res.add(new RegExp(r"(((((((((a)))))))))"));
res.add(new RegExp(r"multiple words of text"));
res.add(new RegExp(r"multiple words"));
res.add(new RegExp(r"(.*)c(.*)"));
res.add(new RegExp(r"\((.*), (.*)\)"));
res.add(new RegExp(r"[k]"));
res.add(new RegExp(r"abcd"));
res.add(new RegExp(r"a(bc)d"));
res.add(new RegExp(r"a[-]?c"));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"ab*c", caseSensitive: false));
res.add(new RegExp(r"ab*bc", caseSensitive: false));
res.add(new RegExp(r"ab*?bc", caseSensitive: false));
res.add(new RegExp(r"ab{0,}?bc", caseSensitive: false));
res.add(new RegExp(r"ab+?bc", caseSensitive: false));
res.add(new RegExp(r"ab+bc", caseSensitive: false));
res.add(new RegExp(r"ab{1,}bc", caseSensitive: false));
res.add(new RegExp(r"ab+bc", caseSensitive: false));
res.add(new RegExp(r"ab{1,}?bc", caseSensitive: false));
res.add(new RegExp(r"ab{1,3}?bc", caseSensitive: false));
res.add(new RegExp(r"ab{3,4}?bc", caseSensitive: false));
res.add(new RegExp(r"ab{4,5}?bc", caseSensitive: false));
res.add(new RegExp(r"ab??bc", caseSensitive: false));
res.add(new RegExp(r"ab{0,1}?bc", caseSensitive: false));
res.add(new RegExp(r"ab??bc", caseSensitive: false));
res.add(new RegExp(r"ab??c", caseSensitive: false));
res.add(new RegExp(r"ab{0,1}?c", caseSensitive: false));
res.add(new RegExp(r"^abc$", caseSensitive: false));
res.add(new RegExp(r"^abc", caseSensitive: false));
res.add(new RegExp(r"^abc$", caseSensitive: false));
res.add(new RegExp(r"abc$", caseSensitive: false));
res.add(new RegExp(r"^", caseSensitive: false));
res.add(new RegExp(r"$", caseSensitive: false));
res.add(new RegExp(r"a.c", caseSensitive: false));
res.add(new RegExp(r"a.*?c", caseSensitive: false));
res.add(new RegExp(r"a.*c", caseSensitive: false));
res.add(new RegExp(r"a[bc]d", caseSensitive: false));
res.add(new RegExp(r"a[b-d]e", caseSensitive: false));
res.add(new RegExp(r"a[b-d]", caseSensitive: false));
res.add(new RegExp(r"a[-b]", caseSensitive: false));
res.add(new RegExp(r"a[b-]", caseSensitive: false));
res.add(new RegExp(r"a]", caseSensitive: false));
res.add(new RegExp(r"a[]]b", caseSensitive: false));
res.add(new RegExp(r"a[^bc]d", caseSensitive: false));
res.add(new RegExp(r"a[^-b]c", caseSensitive: false));
res.add(new RegExp(r"a[^]b]c", caseSensitive: false));
res.add(new RegExp(r"ab|cd", caseSensitive: false));
res.add(new RegExp(r"()ef", caseSensitive: false));
res.add(new RegExp(r"$b", caseSensitive: false));
res.add(new RegExp(r"a\(b", caseSensitive: false));
res.add(new RegExp(r"a\\b", caseSensitive: false));
res.add(new RegExp(r"((a))", caseSensitive: false));
res.add(new RegExp(r"(a)b(c)", caseSensitive: false));
res.add(new RegExp(r"a+b+c", caseSensitive: false));
res.add(new RegExp(r"a{1,}b{1,}c", caseSensitive: false));
res.add(new RegExp(r"a.+?c", caseSensitive: false));
res.add(new RegExp(r"a.*?c", caseSensitive: false));
res.add(new RegExp(r"a.{0,5}?c", caseSensitive: false));
res.add(new RegExp(r"(a+|b)*", caseSensitive: false));
res.add(new RegExp(r"(a+|b){0,}", caseSensitive: false));
res.add(new RegExp(r"(a+|b)+", caseSensitive: false));
res.add(new RegExp(r"(a+|b){1,}", caseSensitive: false));
res.add(new RegExp(r"(a+|b)?", caseSensitive: false));
res.add(new RegExp(r"(a+|b){0,1}", caseSensitive: false));
res.add(new RegExp(r"(a+|b){0,1}?", caseSensitive: false));
res.add(new RegExp(r"[^ab]*", caseSensitive: false));
res.add(new RegExp(r"abc", caseSensitive: false));
res.add(new RegExp(r"a*", caseSensitive: false));
res.add(new RegExp(r"([abc])*d", caseSensitive: false));
res.add(new RegExp(r"([abc])*bcd", caseSensitive: false));
res.add(new RegExp(r"a|b|c|d|e", caseSensitive: false));
res.add(new RegExp(r"(a|b|c|d|e)f", caseSensitive: false));
res.add(new RegExp(r"abcd*efg", caseSensitive: false));
res.add(new RegExp(r"ab*", caseSensitive: false));
res.add(new RegExp(r"(ab|cd)e", caseSensitive: false));
res.add(new RegExp(r"[abhgefdc]ij", caseSensitive: false));
res.add(new RegExp(r"^(ab|cd)e", caseSensitive: false));
res.add(new RegExp(r"(abc|)ef", caseSensitive: false));
res.add(new RegExp(r"(a|b)c*d", caseSensitive: false));
res.add(new RegExp(r"(ab|ab*)bc", caseSensitive: false));
res.add(new RegExp(r"a([bc]*)c*", caseSensitive: false));
res.add(new RegExp(r"a([bc]*)(c*d)", caseSensitive: false));
res.add(new RegExp(r"a([bc]+)(c*d)", caseSensitive: false));
res.add(new RegExp(r"a([bc]*)(c+d)", caseSensitive: false));
res.add(new RegExp(r"a[bcd]*dcdcde", caseSensitive: false));
res.add(new RegExp(r"a[bcd]+dcdcde", caseSensitive: false));
res.add(new RegExp(r"(ab|a)b*c", caseSensitive: false));
res.add(new RegExp(r"((a)(b)c)(d)", caseSensitive: false));
res.add(new RegExp(r"[a-zA-Z_][a-zA-Z0-9_]*", caseSensitive: false));
res.add(new RegExp(r"^a(bc+|b[eh])g|.h$", caseSensitive: false));
res.add(new RegExp(r"(bc+d$|ef*g.|h?i(j|k))", caseSensitive: false));
res.add(new RegExp(r"((((((((((a))))))))))", caseSensitive: false));
res.add(new RegExp(r"(((((((((a)))))))))", caseSensitive: false));
res.add(new RegExp(r"(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))",
caseSensitive: false));
res.add(new RegExp(r"(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))",
caseSensitive: false));
res.add(new RegExp(r"multiple words of text", caseSensitive: false));
res.add(new RegExp(r"multiple words", caseSensitive: false));
res.add(new RegExp(r"(.*)c(.*)", caseSensitive: false));
res.add(new RegExp(r"\((.*), (.*)\)", caseSensitive: false));
res.add(new RegExp(r"[k]", caseSensitive: false));
res.add(new RegExp(r"abcd", caseSensitive: false));
res.add(new RegExp(r"a(bc)d", caseSensitive: false));
res.add(new RegExp(r"a[-]?c", caseSensitive: false));
res.add(new RegExp(r"a(?!b)."));
res.add(new RegExp(r"a(?=d)."));
res.add(new RegExp(r"a(?=c|d)."));
res.add(new RegExp(r"a(?:b|c|d)(.)"));
res.add(new RegExp(r"a(?:b|c|d)*(.)"));
res.add(new RegExp(r"a(?:b|c|d)+?(.)"));
res.add(new RegExp(r"a(?:b|c|d)+(.)"));
res.add(new RegExp(r"a(?:b|c|d){2}(.)"));
res.add(new RegExp(r"a(?:b|c|d){4,5}(.)"));
res.add(new RegExp(r"a(?:b|c|d){4,5}?(.)"));
res.add(new RegExp(r"((foo)|(bar))*"));
res.add(new RegExp(r"a(?:b|c|d){6,7}(.)"));
res.add(new RegExp(r"a(?:b|c|d){6,7}?(.)"));
res.add(new RegExp(r"a(?:b|c|d){5,6}(.)"));
res.add(new RegExp(r"a(?:b|c|d){5,6}?(.)"));
res.add(new RegExp(r"a(?:b|c|d){5,7}(.)"));
res.add(new RegExp(r"a(?:b|c|d){5,7}?(.)"));
res.add(new RegExp(r"a(?:b|(c|e){1,2}?|d)+?(.)"));
res.add(new RegExp(r"^(.+)?B"));
res.add(new RegExp(r"^([^a-z])|(\^)$"));
res.add(new RegExp(r"^[<>]&"));
res.add(new RegExp(r"(?:(f)(o)(o)|(b)(a)(r))*"));
res.add(new RegExp(r"(?:..)*a"));
res.add(new RegExp(r"(?:..)*?a"));
res.add(new RegExp(r"^(){3,5}"));
res.add(new RegExp(r"^(a+)*ax"));
res.add(new RegExp(r"^((a|b)+)*ax"));
res.add(new RegExp(r"^((a|bc)+)*ax"));
res.add(new RegExp(r"(a|x)*ab"));
res.add(new RegExp(r"(a)*ab"));
res.add(new RegExp(r"(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))"));
res.add(new RegExp(
r"(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))"));
res.add(new RegExp(r"foo\w*\d{4}baz"));
res.add(new RegExp(r"x(~~)*(?:(?:F)?)?"));
res.add(new RegExp(r"^a{3}c"));
res.add(new RegExp(r"^a{3}c"));
res.add(new RegExp(r"^(?:a?b?)*$"));
res.add(new RegExp(r"^b"));
res.add(new RegExp(r"()^b"));
res.add(new RegExp(r"(\w+:)+"));
res.add(new RegExp(r"([\w:]+::)?(\w+)$"));
res.add(new RegExp(r"^[^bcd]*(c+)"));
res.add(new RegExp(r"(a*)b+"));
res.add(new RegExp(r"([\w:]+::)?(\w+)$"));
res.add(new RegExp(r"^[^bcd]*(c+)"));
res.add(new RegExp(r"(>a+)ab"));
res.add(new RegExp(r"([[:]+)"));
res.add(new RegExp(r"([[=]+)"));
res.add(new RegExp(r"([[.]+)"));
res.add(new RegExp(r"a\Z"));
res.add(new RegExp(r"b\Z"));
res.add(new RegExp(r"b\z"));
res.add(new RegExp(r"b\Z"));
res.add(new RegExp(r"b\z"));
res.add(new RegExp(r"((Z)+|A)*"));
res.add(new RegExp(r"(Z()|A)*"));
res.add(new RegExp(r"(Z(())|A)*"));
res.add(new RegExp(r"a*"));
res.add(new RegExp(r"^[\d-a]"));
res.add(new RegExp(r"[[:space:]]+"));
res.add(new RegExp(r"[[:blank:]]+"));
res.add(new RegExp(r"[\s]+"));
res.add(new RegExp(r"\s+"));
res.add(new RegExp(r"a b"));
res.add(new RegExp(r"(?!\A)x", multiLine: true));
res.add(new RegExp(r"(?!^)x", multiLine: true));
res.add(new RegExp(r"abc\Qabc\Eabc"));
res.add(new RegExp(r"abc\Qabc\Eabc"));
res.add(new RegExp(r"abc\Qliteral\E"));
res.add(new RegExp(r"abc\Qliteral"));
res.add(new RegExp(r"abc\Qliteral\E"));
res.add(new RegExp(r"abc\Qliteral\E"));
res.add(new RegExp(r"\Qabc\$xyz\E"));
res.add(new RegExp(r"\Qabc\E\$\Qxyz\E"));
res.add(new RegExp(r"\Gabc"));
res.add(new RegExp(r"\Gabc."));
res.add(new RegExp(r"abc."));
res.add(new RegExp(r"[z\Qa-d]\E]"));
res.add(new RegExp(r"[\z\C]"));
res.add(new RegExp(r"\M"));
res.add(new RegExp(r"(a+)*b"));
res.add(new RegExp(r"line\nbreak"));
res.add(new RegExp(r"line\nbreak"));
res.add(new RegExp(r"line\nbreak", multiLine: true));
res.add(new RegExp(r"1234"));
res.add(new RegExp(r"1234"));
res.add(new RegExp(r"^", multiLine: true));
res.add(new RegExp(r"Content-Type\x3A[^\r\n]{6,}"));
res.add(new RegExp(r"Content-Type\x3A[^\r\n]{6,}z"));
res.add(new RegExp(r"Content-Type\x3A[^a]{6,}"));
res.add(new RegExp(r"Content-Type\x3A[^a]{6,}z"));
res.add(new RegExp(r"^abc", multiLine: true));
res.add(new RegExp(r"abc$", multiLine: true));
res.add(new RegExp(r"^abc", multiLine: true));
res.add(new RegExp(r"^abc", multiLine: true));
res.add(new RegExp(r"^abc", multiLine: true));
res.add(new RegExp(r".*"));
res.add(new RegExp(r"\w+(.)(.)?def"));
res.add(new RegExp(r"^\w+=.*(\\\n.*)*"));
res.add(new RegExp(r"^(a()*)*"));
res.add(new RegExp(r"^(?:a(?:(?:))*)*"));
res.add(new RegExp(r"^(a()+)+"));
res.add(new RegExp(r"^(?:a(?:(?:))+)+"));
res.add(new RegExp(r"(a|)*\d"));
res.add(new RegExp(r"(?:a|)*\d"));
res.add(new RegExp(r"^a.b"));
res.add(new RegExp(r"^abc.", multiLine: true));
res.add(new RegExp(r"abc.$", multiLine: true));
res.add(new RegExp(r"^a\Rb", caseSensitive: false));
res.add(new RegExp(r"^a\R*b", caseSensitive: false));
res.add(new RegExp(r"^a\R+b", caseSensitive: false));
res.add(new RegExp(r"^a\R{1,3}b", caseSensitive: false));
res.add(new RegExp(r"^a[\R]b", caseSensitive: false));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r".+foo"));
res.add(new RegExp(r"^$", multiLine: true));
res.add(new RegExp(r"^X", multiLine: true));
res.add(new RegExp(r"\H\h\V\v"));
res.add(new RegExp(r"\H*\h+\V?\v{3,4}"));
res.add(new RegExp(r"\H{3,4}"));
res.add(new RegExp(r".\h{3,4}."));
res.add(new RegExp(r"\h*X\h?\H+Y\H?Z"));
res.add(new RegExp(r"\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c"));
res.add(new RegExp(r".+A"));
res.add(new RegExp(r"\nA"));
res.add(new RegExp(r"[\r\n]A"));
res.add(new RegExp(r"(\r|\n)A"));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"a\R{2,4}b", caseSensitive: false));
res.add(new RegExp(r"a\R{2,4}b", caseSensitive: false));
res.add(new RegExp(r"a(?!)|\wbc"));
res.add(new RegExp(r"a[]b"));
res.add(new RegExp(r"a[]+b"));
res.add(new RegExp(r"a[^]b"));
res.add(new RegExp(r"a[^]+b"));
res.add(new RegExp(r" End of testinput7 "));
res.add(new RegExp(r"\bX"));
res.add(new RegExp(r"\BX"));
res.add(new RegExp(r"X\b"));
res.add(new RegExp(r"X\B"));
res.add(new RegExp(r"[^a]"));
res.add(new RegExp(r"abc"));
res.add(new RegExp(r"a.b"));
res.add(new RegExp(r"a(.{3})b"));
res.add(new RegExp(r"a(.*?)(.)"));
res.add(new RegExp(r"a(.*?)(.)"));
res.add(new RegExp(r"a(.*)(.)"));
res.add(new RegExp(r"a(.*)(.)"));
res.add(new RegExp(r"a(.)(.)"));
res.add(new RegExp(r"a(.)(.)"));
res.add(new RegExp(r"a(.?)(.)"));
res.add(new RegExp(r"a(.?)(.)"));
res.add(new RegExp(r"a(.??)(.)"));
res.add(new RegExp(r"a(.??)(.)"));
res.add(new RegExp(r"a(.{3})b"));
res.add(new RegExp(r"a(.{3,})b"));
res.add(new RegExp(r"a(.{3,}?)b"));
res.add(new RegExp(r"a(.{3,5})b"));
res.add(new RegExp(r"a(.{3,5}?)b"));
res.add(new RegExp(r"[^a]+"));
res.add(new RegExp(r"^[^a]{2}"));
res.add(new RegExp(r"^[^a]{2,}"));
res.add(new RegExp(r"^[^a]{2,}?"));
res.add(new RegExp(r"[^a]+", caseSensitive: false));
res.add(new RegExp(r"^[^a]{2}", caseSensitive: false));
res.add(new RegExp(r"^[^a]{2,}", caseSensitive: false));
res.add(new RegExp(r"^[^a]{2,}?", caseSensitive: false));
res.add(new RegExp(r"\D*"));
res.add(new RegExp(r"\D*"));
res.add(new RegExp(r"\D"));
res.add(new RegExp(r">\S"));
res.add(new RegExp(r"\d"));
res.add(new RegExp(r"\s"));
res.add(new RegExp(r"\D+"));
res.add(new RegExp(r"\D{2,3}"));
res.add(new RegExp(r"\D{2,3}?"));
res.add(new RegExp(r"\d+"));
res.add(new RegExp(r"\d{2,3}"));
res.add(new RegExp(r"\d{2,3}?"));
res.add(new RegExp(r"\S+"));
res.add(new RegExp(r"\S{2,3}"));
res.add(new RegExp(r"\S{2,3}?"));
res.add(new RegExp(r">\s+<"));
res.add(new RegExp(r">\s{2,3}<"));
res.add(new RegExp(r">\s{2,3}?<"));
res.add(new RegExp(r"\w+"));
res.add(new RegExp(r"\w{2,3}"));
res.add(new RegExp(r"\w{2,3}?"));
res.add(new RegExp(r"\W+"));
res.add(new RegExp(r"\W{2,3}"));
res.add(new RegExp(r"\W{2,3}?"));
res.add(new RegExp(r"[\xFF]"));
res.add(new RegExp(r"[\xff]"));
res.add(new RegExp(r"[^\xFF]"));
res.add(new RegExp(r"[^\xff]"));
res.add(new RegExp(r"^[ac]*b"));
res.add(new RegExp(r"^[^x]*b", caseSensitive: false));
res.add(new RegExp(r"^[^x]*b"));
res.add(new RegExp(r"^\d*b"));
res.add(new RegExp(r"(|a)"));
res.add(new RegExp(r"^abc.", multiLine: true));
res.add(new RegExp(r"abc.$", multiLine: true));
res.add(new RegExp(r"^a\Rb", caseSensitive: false));
res.add(new RegExp(r"^a\R*b", caseSensitive: false));
res.add(new RegExp(r"^a\R+b", caseSensitive: false));
res.add(new RegExp(r"^a\R{1,3}b", caseSensitive: false));
res.add(new RegExp(r"\h+\V?\v{3,4}"));
res.add(new RegExp(r"\V?\v{3,4}"));
res.add(new RegExp(r"\h+\V?\v{3,4}"));
res.add(new RegExp(r"\V?\v{3,4}"));
res.add(new RegExp(r"\H\h\V\v"));
res.add(new RegExp(r"\H*\h+\V?\v{3,4}"));
res.add(new RegExp(r"\H\h\V\v"));
res.add(new RegExp(r"\H*\h+\V?\v{3,4}"));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\Rb", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"a\R?b", caseSensitive: false));
res.add(new RegExp(r"X"));
res.add(new RegExp(r" End of testinput 8 "));
res.add(new RegExp(r"\pL\P{Nd}"));
res.add(new RegExp(r"\X."));
res.add(new RegExp(r"\X\X"));
res.add(new RegExp(r"^\pL+"));
res.add(new RegExp(r"^\PL+"));
res.add(new RegExp(r"^\X+"));
res.add(new RegExp(r"\X?abc"));
res.add(new RegExp(r"^\X?abc"));
res.add(new RegExp(r"\X*abc"));
res.add(new RegExp(r"^\X*abc"));
res.add(new RegExp(r"^\pL?=."));
res.add(new RegExp(r"^\pL*=."));
res.add(new RegExp(r"^\X{2,3}X"));
res.add(new RegExp(r"^\pC\pL\pM\pN\pP\pS\pZ<"));
res.add(new RegExp(r"^\PC"));
res.add(new RegExp(r"^\PL"));
res.add(new RegExp(r"^\PM"));
res.add(new RegExp(r"^\PN"));
res.add(new RegExp(r"^\PP"));
res.add(new RegExp(r"^\PS"));
res.add(new RegExp(r"^\PZ"));
res.add(new RegExp(r"^\p{Cc}"));
res.add(new RegExp(r"^\p{Cf}"));
res.add(new RegExp(r"^\p{Cn}"));
res.add(new RegExp(r"^\p{Co}"));
res.add(new RegExp(r"^\p{Cs}"));
res.add(new RegExp(r"^\p{Ll}"));
res.add(new RegExp(r"^\p{Lm}"));
res.add(new RegExp(r"^\p{Lo}"));
res.add(new RegExp(r"^\p{Lt}"));
res.add(new RegExp(r"^\p{Lu}"));
res.add(new RegExp(r"^\p{Mc}"));
res.add(new RegExp(r"^\p{Me}"));
res.add(new RegExp(r"^\p{Mn}"));
res.add(new RegExp(r"^\p{Nl}"));
res.add(new RegExp(r"^\p{No}"));
res.add(new RegExp(r"^\p{Pc}"));
res.add(new RegExp(r"^\p{Pd}"));
res.add(new RegExp(r"^\p{Pe}"));
res.add(new RegExp(r"^\p{Pf}"));
res.add(new RegExp(r"^\p{Pi}"));
res.add(new RegExp(r"^\p{Po}"));
res.add(new RegExp(r"^\p{Ps}"));
res.add(new RegExp(r"^\p{Sk}"));
res.add(new RegExp(r"^\p{So}"));
res.add(new RegExp(r"^\p{Zl}"));
res.add(new RegExp(r"^\p{Zp}"));
res.add(new RegExp(r"^\p{Zs}"));
res.add(new RegExp(r"\p{Nd}{2,}(..)"));
res.add(new RegExp(r"\p{Nd}{2,}?(..)"));
res.add(new RegExp(r"\p{Nd}*(..)"));
res.add(new RegExp(r"\p{Nd}*?(..)"));
res.add(new RegExp(r"\p{Nd}{2}(..)"));
res.add(new RegExp(r"\p{Nd}{2,3}(..)"));
res.add(new RegExp(r"\p{Nd}{2,3}?(..)"));
res.add(new RegExp(r"\p{Nd}?(..)"));
res.add(new RegExp(r"\p{Nd}??(..)"));
res.add(new RegExp(r"\p{Lu}", caseSensitive: false));
res.add(new RegExp(r"\p{^Lu}", caseSensitive: false));
res.add(new RegExp(r"\P{Lu}", caseSensitive: false));
res.add(new RegExp(r"[\p{Nd}]"));
res.add(new RegExp(r"[\P{Nd}]+"));
res.add(new RegExp(r"\D+"));
res.add(new RegExp(r"[\D]+"));
res.add(new RegExp(r"[\P{Nd}]+"));
res.add(new RegExp(r"[\D\P{Nd}]+"));
res.add(new RegExp(r"\pL"));
res.add(new RegExp(r"\pL", caseSensitive: false));
res.add(new RegExp(r"\p{Lu}"));
res.add(new RegExp(r"\p{Lu}", caseSensitive: false));
res.add(new RegExp(r"\p{Ll}"));
res.add(new RegExp(r"\p{Ll}", caseSensitive: false));
res.add(new RegExp(r"^\X"));
res.add(new RegExp(r"^[\X]"));
res.add(new RegExp(r"^(\X*)C"));
res.add(new RegExp(r"^(\X*?)C"));
res.add(new RegExp(r"^(\X*)(.)"));
res.add(new RegExp(r"^(\X*?)(.)"));
res.add(new RegExp(r"^\X(.)"));
res.add(new RegExp(r"^\X{2,3}(.)"));
res.add(new RegExp(r"^\X{2,3}?(.)"));
res.add(new RegExp(r"^\pN{2,3}X"));
res.add(new RegExp(r"^[\p{Arabic}]"));
res.add(new RegExp(r"^[\P{Yi}]"));
res.add(new RegExp(r"^\p{Any}X"));
res.add(new RegExp(r"^\P{Any}X"));
res.add(new RegExp(r"^\p{Any}?X"));
res.add(new RegExp(r"^\P{Any}?X"));
res.add(new RegExp(r"^\p{Any}*X"));
res.add(new RegExp(r"^\P{Any}*X"));
res.add(new RegExp(r"^[\p{Any}]X"));
res.add(new RegExp(r"^[\P{Any}]X"));
res.add(new RegExp(r"^[\p{Any}]?X"));
res.add(new RegExp(r"^[\P{Any}]?X"));
res.add(new RegExp(r"^[\p{Any}]+X"));
res.add(new RegExp(r"^[\P{Any}]+X"));
res.add(new RegExp(r"^[\p{Any}]*X"));
res.add(new RegExp(r"^[\P{Any}]*X"));
res.add(new RegExp(r"^\p{Any}{3,5}?"));
res.add(new RegExp(r"^\p{Any}{3,5}"));
res.add(new RegExp(r"^\P{Any}{3,5}?"));
res.add(new RegExp(r"^\p{L&}X"));
res.add(new RegExp(r"^[\p{L&}]X"));
res.add(new RegExp(r"^[\p{L&}]+X"));
res.add(new RegExp(r"^[\p{L&}]+?X"));
res.add(new RegExp(r"^\P{L&}X"));
res.add(new RegExp(r"^[\P{L&}]X"));
res.add(new RegExp(r"Check property support in non-UTF-8 mode"));
res.add(new RegExp(r"\p{L}{4}"));
res.add(new RegExp(
r"\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}"));
res.add(new RegExp(r" End "));
res.add(new RegExp(r"^[[:alnum:]]", multiLine: true));
res.add(new RegExp(r"a", multiLine: true, caseSensitive: false));
res.add(new RegExp(r"abcde", multiLine: true));
res.add(new RegExp(r"\x80", multiLine: true));
res.add(new RegExp(r"\xff", multiLine: true));
res.add(new RegExp(r"[\p{L}]", multiLine: true));
res.add(new RegExp(r"[\p{^L}]", multiLine: true));
res.add(new RegExp(r"[\P{L}]", multiLine: true));
res.add(new RegExp(r"[\P{^L}]", multiLine: true));
res.add(new RegExp(r"[\p{Nd}]", multiLine: true));
res.add(new RegExp(r"[a]", multiLine: true));
res.add(new RegExp(r"[a]", multiLine: true));
res.add(new RegExp(r"[\xaa]", multiLine: true));
res.add(new RegExp(r"[\xaa]", multiLine: true));
res.add(new RegExp(r"[^a]", multiLine: true));
res.add(new RegExp(r"[^a]", multiLine: true));
res.add(new RegExp(r"[^\xaa]", multiLine: true));
res.add(new RegExp(r"[^\xaa]", multiLine: true));
res.add(new RegExp(r" End of testinput10 "));
assertToStringEquals("abc", res[1].firstMatch("abc"), 0);
assertToStringEquals("abc", res[1].firstMatch("defabc"), 1);
assertToStringEquals("abc", res[1].firstMatch("Aabc"), 2);
assertNull(res[1].firstMatch("*** Failers"), 3);
assertToStringEquals("abc", res[1].firstMatch("Adefabc"), 4);
assertToStringEquals("ABC", res[1].firstMatch("ABC"), 5);
assertToStringEquals("abc", res[2].firstMatch("abc"), 6);
assertNull(res[2].firstMatch("Aabc"), 7);
assertNull(res[2].firstMatch("*** Failers"), 8);
assertNull(res[2].firstMatch("defabc"), 9);
assertNull(res[2].firstMatch("Adefabc"), 10);
assertToStringEquals("abc", res[7].firstMatch("abc"), 11);
assertNull(res[7].firstMatch("*** Failers"), 12);
assertNull(res[7].firstMatch("def\nabc"), 13);
assertThrows(() => new RegExp(r"x{5,4}"));
assertThrows(() => new RegExp(r"[abcd"));
assertThrows(() => new RegExp(r"[z-a]"));
assertThrows(() => new RegExp(r"^*"));
assertThrows(() => new RegExp(r"(abc"));
assertThrows(() => new RegExp(r"(?# abc"));
assertToStringEquals(
"cat", res[11].firstMatch("this sentence eventually mentions a cat"), 20);
assertToStringEquals(
"elephant",
res[11].firstMatch(
"this sentences rambles on and on for a while and then reaches elephant"),
21);
assertToStringEquals(
"cat", res[12].firstMatch("this sentence eventually mentions a cat"), 22);
assertToStringEquals(
"elephant",
res[12].firstMatch(
"this sentences rambles on and on for a while and then reaches elephant"),
23);
assertToStringEquals("CAT",
res[13].firstMatch("this sentence eventually mentions a CAT cat"), 24);
assertToStringEquals(
"elephant",
res[13].firstMatch(
"this sentences rambles on and on for a while to elephant ElePhant"),
25);
assertThrows(() => new RegExp(r"{4,5}abc"));
assertToStringEquals("abcb,a,b,c", res[18].firstMatch("abcb"), 27);
assertToStringEquals("abcb,a,b,c", res[18].firstMatch("O0abcb"), 28);
assertToStringEquals("abcb,a,b,c", res[18].firstMatch("O3abcb"), 29);
assertToStringEquals("abcb,a,b,c", res[18].firstMatch("O6abcb"), 30);
assertToStringEquals("abcb,a,b,c", res[18].firstMatch("O9abcb"), 31);
assertToStringEquals("abcb,a,b,c", res[18].firstMatch("O12abcb"), 32);
assertToStringEquals("abc,a,,", res[19].firstMatch("abc"), 33);
assertToStringEquals("abc,a,,", res[19].firstMatch("O0abc"), 34);
assertToStringEquals("abc,a,,", res[19].firstMatch("O3abc"), 35);
assertToStringEquals("abc,a,,", res[19].firstMatch("O6abc"), 36);
assertToStringEquals("aba,,a,b", res[19].firstMatch("aba"), 37);
assertToStringEquals("aba,,a,b", res[19].firstMatch("O0aba"), 38);
assertToStringEquals("aba,,a,b", res[19].firstMatch("O3aba"), 39);
assertToStringEquals("aba,,a,b", res[19].firstMatch("O6aba"), 40);
assertToStringEquals("aba,,a,b", res[19].firstMatch("O9aba"), 41);
assertToStringEquals("aba,,a,b", res[19].firstMatch("O12aba"), 42);
assertToStringEquals("abc", res[20].firstMatch("abc"), 43);
assertNull(res[20].firstMatch("*** Failers"), 44);
assertNull(res[20].firstMatch("abc\n"), 45);
assertNull(res[20].firstMatch("abc\ndef"), 46);
assertToStringEquals(
"the quick brown fox", res[22].firstMatch("the quick brown fox"), 47);
assertToStringEquals("the quick brown fox",
res[22].firstMatch("this is a line with the quick brown fox"), 48);
assertToStringEquals("abc", res[23].firstMatch("abcdef"), 49);
assertToStringEquals("abc", res[23].firstMatch("abcdefB"), 50);
assertToStringEquals("defabc,abc,abc,", res[24].firstMatch("defabc"), 51);
assertToStringEquals("Zdefabc,abc,abc,", res[24].firstMatch("Zdefabc"), 52);
assertToStringEquals("abc", res[25].firstMatch("abc"), 53);
assertNull(res[25].firstMatch("*** Failers"), 54);
assertToStringEquals("abc", res[26].firstMatch("abcdef"), 55);
assertToStringEquals("abc", res[26].firstMatch("abcdefB"), 56);
assertToStringEquals("defabc,abc,abc,", res[27].firstMatch("defabc"), 57);
assertToStringEquals("Zdefabc,abc,abc,", res[27].firstMatch("Zdefabc"), 58);
assertToStringEquals(
"the quick brown fox", res[28].firstMatch("the quick brown fox"), 59);
assertNull(res[28].firstMatch("*** Failers"), 60);
assertToStringEquals(
"The Quick Brown Fox", res[28].firstMatch("The Quick Brown Fox"), 61);
assertToStringEquals(
"the quick brown fox", res[29].firstMatch("the quick brown fox"), 62);
assertToStringEquals(
"The Quick Brown Fox", res[29].firstMatch("The Quick Brown Fox"), 63);
assertNull(res[30].firstMatch("*** Failers"), 64);
assertNull(res[30].firstMatch("abc\ndef"), 65);
assertToStringEquals("abc", res[31].firstMatch("abc"), 66);
assertNull(res[31].firstMatch("abc\n"), 67);
assertToStringEquals("abc,abc", res[33].firstMatch("abc"), 68);
assertThrows(() => new RegExp(r")"));
assertToStringEquals("-pr", res[35].firstMatch("co-processors, and for"), 70);
assertToStringEquals(
"<def>ghi<klm>", res[36].firstMatch("abc<def>ghi<klm>nop"), 71);
assertToStringEquals("<def>", res[37].firstMatch("abc<def>ghi<klm>nop"), 72);
assertToStringEquals("<def>", res[37].firstMatch("abc<def>ghi<klm>nop"), 73);
assertNull(res[37].firstMatch("abc========def"), 74);
assertNull(res[37].firstMatch("foo"), 75);
assertNull(res[37].firstMatch("catfoo"), 76);
assertNull(res[37].firstMatch("*** Failers"), 77);
assertNull(res[37].firstMatch("the barfoo"), 78);
assertNull(res[37].firstMatch("and cattlefoo"), 79);
assertToStringEquals("a", res[40].firstMatch("a"), 80);
assertNull(res[40].firstMatch("a\n"), 81);
assertNull(res[40].firstMatch("*** Failers"), 82);
assertToStringEquals("a", res[40].firstMatch("Za"), 83);
assertNull(res[40].firstMatch("Za\n"), 84);
assertToStringEquals("a", res[41].firstMatch("a"), 85);
assertToStringEquals("a", res[41].firstMatch("a\n"), 86);
assertToStringEquals("a", res[41].firstMatch("Za\n"), 87);
assertNull(res[41].firstMatch("*** Failers"), 88);
assertToStringEquals("a", res[41].firstMatch("Za"), 89);
assertToStringEquals("b", res[44].firstMatch("foo\nbarbar"), 90);
assertToStringEquals("a", res[44].firstMatch("***Failers"), 91);
assertToStringEquals("b", res[44].firstMatch("rhubarb"), 92);
assertToStringEquals("b", res[44].firstMatch("barbell"), 93);
assertToStringEquals("a", res[44].firstMatch("abc\nbarton"), 94);
assertToStringEquals("b", res[44].firstMatch("foo\nbarbar"), 95);
assertToStringEquals("a", res[44].firstMatch("***Failers"), 96);
assertToStringEquals("b", res[44].firstMatch("rhubarb"), 97);
assertToStringEquals("b", res[44].firstMatch("barbell"), 98);
assertToStringEquals("a", res[44].firstMatch("abc\nbarton"), 99);
assertToStringEquals("a", res[44].firstMatch("abc"), 100);
assertToStringEquals("a", res[44].firstMatch("def\nabc"), 101);
assertToStringEquals("a", res[44].firstMatch("*** Failers"), 102);
assertToStringEquals("a", res[44].firstMatch("defabc"), 103);
assertNull(res[45].firstMatch("the bullock-cart"), 104);
assertNull(res[45].firstMatch("a donkey-cart race"), 105);
assertNull(res[45].firstMatch("*** Failers"), 106);
assertNull(res[45].firstMatch("cart"), 107);
assertNull(res[45].firstMatch("horse-and-cart"), 108);
assertNull(res[45].firstMatch("alphabetabcd"), 109);
assertNull(res[45].firstMatch("endingxyz"), 110);
assertNull(res[45].firstMatch("abxyZZ"), 111);
assertNull(res[45].firstMatch("abXyZZ"), 112);
assertNull(res[45].firstMatch("ZZZ"), 113);
assertNull(res[45].firstMatch("zZZ"), 114);
assertNull(res[45].firstMatch("bZZ"), 115);
assertNull(res[45].firstMatch("BZZ"), 116);
assertNull(res[45].firstMatch("*** Failers"), 117);
assertNull(res[45].firstMatch("ZZ"), 118);
assertNull(res[45].firstMatch("abXYZZ"), 119);
assertNull(res[45].firstMatch("zzz"), 120);
assertNull(res[45].firstMatch("bzz"), 121);
assertNull(res[45].firstMatch("bar"), 122);
assertNull(res[45].firstMatch("foobbar"), 123);
assertNull(res[45].firstMatch("*** Failers"), 124);
assertNull(res[45].firstMatch("fooabar"), 125);
assertNull(res[46].firstMatch("*** Failers"), 126);
assertNull(res[46].firstMatch("a"), 127);
assertNull(res[48].firstMatch("aaaaaa"), 128);
assertThrows(() => new RegExp(r"a[b-a]"), 129);
assertThrows(() => new RegExp(r"a["), 130);
assertThrows(() => new RegExp(r"*a"), 131);
assertThrows(() => new RegExp(r"abc)"), 132);
assertThrows(() => new RegExp(r"(abc"), 133);
assertThrows(() => new RegExp(r"a**"), 134);
assertThrows(() => new RegExp(r")("), 135);
assertThrows(() => new RegExp(r"a[b-a]"), 136);
assertThrows(() => new RegExp(r"a["), 137);
assertThrows(() => new RegExp(r"*a"), 138);
assertThrows(() => new RegExp(r"abc)"), 139);
assertThrows(() => new RegExp(r"(abc"), 140);
assertThrows(() => new RegExp(r"a**"), 141);
assertThrows(() => new RegExp(r")("), 142);
assertThrows(() => new RegExp(r":(?:"), 143);
assertThrows(() => new RegExp(r"a(?{)b"), 144);
assertThrows(() => new RegExp(r"a(?{{})b"), 145);
assertThrows(() => new RegExp(r"a(?{}})b"), 146);
assertThrows(() => new RegExp(r'a(?{\"{\"})b'), 147);
assertThrows(() => new RegExp(r'a(?{\"{\"}})b'), 148);
assertThrows(() => new RegExp(r"[a[:xyz:"), 149);
assertThrows(() => new RegExp(r"a{37,17}"), 150);
assertToStringEquals("abcd,a,d", res[58].firstMatch("abcd"), 151);
assertToStringEquals("abcd,a,d", res[58].firstMatch("abcdC2"), 152);
assertToStringEquals("abcd,a,d", res[58].firstMatch("abcdC5"), 153);
assertToStringEquals("abcdefghijklmnopqrst,abcdefghijklmnopqrst",
res[59].firstMatch("abcdefghijklmnopqrstuvwxyz"), 154);
assertToStringEquals("abcdefghijklmnopqrst,abcdefghijklmnopqrst",
res[59].firstMatch("abcdefghijklmnopqrstuvwxyzC1"), 155);
assertToStringEquals("abcdefghijklmnopqrst,abcdefghijklmnopqrst",
res[59].firstMatch("abcdefghijklmnopqrstuvwxyzG1"), 156);
assertToStringEquals("abcdefghijklmno,abcdefghijklmno",
res[60].firstMatch("abcdefghijklmnopqrstuvwxyz"), 157);
assertToStringEquals("abcdefghijklmno,abcdefghijklmno",
res[60].firstMatch("abcdefghijklmnopqrstuvwxyzC1G1"), 158);
assertToStringEquals("abcdefghijklmnop,abcdefghijklmnop",
res[61].firstMatch("abcdefghijklmnopqrstuvwxyz"), 159);
assertToStringEquals("abcdefghijklmnop,abcdefghijklmnop",
res[61].firstMatch("abcdefghijklmnopqrstuvwxyzC1G1L"), 160);
assertToStringEquals("adef,a,,f", res[62].firstMatch("adefG1G2G3G4L"), 161);
assertToStringEquals(
"bcdef,bc,bc,f", res[62].firstMatch("bcdefG1G2G3G4L"), 162);
assertToStringEquals("adef,a,,f", res[62].firstMatch("adefghijkC0"), 163);
assertToStringEquals("abc\x00def", res[63].firstMatch("abc\x00defLC0"), 164);
assertToStringEquals("iss", res[69].firstMatch("Mississippi"), 165);
assertToStringEquals("iss", res[70].firstMatch("Mississippi"), 166);
assertToStringEquals("iss", res[71].firstMatch("Mississippi"), 167);
assertToStringEquals("iss", res[72].firstMatch("Mississippi"), 168);
assertToStringEquals("iss", res[73].firstMatch("Mississippi"), 169);
assertNull(res[73].firstMatch("*** Failers"), 170);
assertToStringEquals("iss", res[73].firstMatch("MississippiA"), 171);
assertToStringEquals("iss", res[73].firstMatch("Mississippi"), 172);
assertToStringEquals("iss", res[74].firstMatch("ississippi"), 174);
assertToStringEquals("abciss", res[75].firstMatch("abciss\nxyzisspqr"), 175);
assertToStringEquals("Mis", res[76].firstMatch("Mississippi"), 176);
assertToStringEquals("Mis", res[77].firstMatch("Mississippi"), 180);
assertToStringEquals("ab\n", res[78].firstMatch("ab\nab\ncd"), 181);
assertToStringEquals("ab\n", res[79].firstMatch("ab\nab\ncd"), 182);
assertToStringEquals("a", res[115].firstMatch("a"), 183);
assertToStringEquals("b", res[115].firstMatch("b"), 184);
assertToStringEquals("ab", res[115].firstMatch("ab"), 185);
assertToStringEquals("", res[115].firstMatch("\\"), 186);
assertToStringEquals("", res[115].firstMatch("*** Failers"), 187);
assertToStringEquals("", res[115].firstMatch("N"), 188);
assertToStringEquals("", res[116].firstMatch("abcd"), 189);
assertToStringEquals("", res[116].firstMatch("-abc"), 190);
assertToStringEquals("", res[116].firstMatch("Nab-c"), 191);
assertToStringEquals("", res[116].firstMatch("*** Failers"), 192);
assertToStringEquals("", res[116].firstMatch("Nabc"), 193);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzz"), 194);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzzO0"), 195);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzzO1"), 196);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzzO2"), 197);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzzO3"), 198);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzzO4"), 199);
assertToStringEquals(
"aaaabbbbzz,bbbb,z,z", res[117].firstMatch("aaaabbbbzzzzO5"), 200);
assertToStringEquals("(abcd", res[118].firstMatch("(abcd)"), 201);
assertToStringEquals("(abcd", res[118].firstMatch("(abcd)xyz"), 202);
assertNull(res[118].firstMatch("xyz(abcd)"), 203);
assertNull(res[118].firstMatch("(ab(xy)cd)pqr"), 204);
assertNull(res[118].firstMatch("(ab(xycd)pqr"), 205);
assertNull(res[118].firstMatch("() abc ()"), 206);
assertNull(res[118].firstMatch("12(abcde(fsh)xyz(foo(bar))lmno)89"), 207);
assertNull(res[118].firstMatch("*** Failers"), 208);
assertToStringEquals("abcd", res[118].firstMatch("abcd"), 209);
assertToStringEquals("abcd", res[118].firstMatch("abcd)"), 210);
assertToStringEquals("(abcd", res[118].firstMatch("(abcd"), 211);
assertNull(res[118].firstMatch("(ab(xy)cd)pqr"), 212);
assertNull(res[118].firstMatch("1(abcd)(x(y)z)pqr"), 213);
assertToStringEquals("(abcd", res[118].firstMatch("(abcd)"), 214);
assertNull(res[118].firstMatch("(ab(xy)cd)"), 215);
assertNull(res[118].firstMatch("(a(b(c)d)e)"), 216);
assertNull(res[118].firstMatch("((ab))"), 217);
assertNull(res[118].firstMatch("*** Failers"), 218);
assertNull(res[118].firstMatch("()"), 219);
assertNull(res[118].firstMatch("()"), 220);
assertNull(res[118].firstMatch("12(abcde(fsh)xyz(foo(bar))lmno)89"), 221);
assertNull(res[118].firstMatch("(ab(xy)cd)"), 222);
assertNull(res[118].firstMatch("(ab(xy)cd)"), 223);
assertNull(res[118].firstMatch("(ab(xy)cd)"), 224);
assertNull(res[118].firstMatch("(123ab(xy)cd)"), 225);
assertNull(res[118].firstMatch("(ab(xy)cd)"), 226);
assertNull(res[118].firstMatch("(123ab(xy)cd)"), 227);
assertNull(res[118].firstMatch("(ab(xy)cd)"), 228);
assertToStringEquals(
"(abcd", res[118].firstMatch("(abcd(xyz<p>qrs)123)"), 229);
assertNull(res[118].firstMatch("(ab(cd)ef)"), 230);
assertNull(res[118].firstMatch("(ab(cd(ef)gh)ij)"), 231);
assertNull(res[146].firstMatch("A"), 232);
assertNull(res[146].firstMatch("a"), 233);
assertNull(res[147].firstMatch("A"), 234);
assertNull(res[147].firstMatch("a"), 235);
assertNull(res[147].firstMatch("ab"), 236);
assertNull(res[147].firstMatch("aB"), 237);
assertNull(res[147].firstMatch("*** Failers"), 238);
assertNull(res[147].firstMatch("Ab"), 239);
assertNull(res[147].firstMatch("AB"), 240);
assertThrows(() => new RegExp(r"[\200-\110]"), 241);
// TODO(jgruber): Reintegrate stack-overflow2_test.dart once it passes.
assertToStringEquals("mainmain,main,", res[151].firstMatch("mainmain"), 243);
assertToStringEquals(
"mainOmain,main,", res[151].firstMatch("mainOmain"), 244);
assertToStringEquals("aba,a,", res[153].firstMatch("aba"), 245);
assertToStringEquals("aabbaa,aa,", res[154].firstMatch("aabbaa"), 246);
assertToStringEquals("aabbaa,aa,", res[155].firstMatch("aabbaa"), 247);
assertToStringEquals("aabbaa,aa,", res[156].firstMatch("aabbaa"), 248);
assertToStringEquals("aabbaa,", res[157].firstMatch("aabbaa"), 249);
assertToStringEquals("aabbaa,aa,,", res[158].firstMatch("aabbaa"), 250);
assertToStringEquals("aabbaa,,", res[159].firstMatch("aabbaa"), 251);
assertToStringEquals("aabbaa,", res[160].firstMatch("aabbaa"), 252);
assertToStringEquals("aabbbaa,", res[161].firstMatch("aabbbaa"), 253);
assertToStringEquals("aabbbaa,", res[162].firstMatch("aabbbaa"), 254);
assertToStringEquals("aabbaa,", res[163].firstMatch("aabbaa"), 255);
assertToStringEquals("aabbbaa,", res[164].firstMatch("aabbbaa"), 256);
assertToStringEquals("aabbbaa,aa,,", res[165].firstMatch("aabbbaa"), 257);
assertToStringEquals("aabbbbaa,aa,,", res[166].firstMatch("aabbbbaa"), 258);
// Dart does not have RegExp literals and thus no translatation of the below.
// assertThrows("var re = //;", 259);
assertToStringEquals("a", res[169].firstMatch("ab"), 260);
assertToStringEquals("a", res[169].firstMatch("aB"), 261);
assertToStringEquals("*", res[169].firstMatch("*** Failers"), 262);
assertToStringEquals("A", res[169].firstMatch("AB"), 263);
assertToStringEquals("a", res[169].firstMatch("ab"), 264);
assertToStringEquals("a", res[169].firstMatch("aB"), 265);
assertToStringEquals("*", res[169].firstMatch("*** Failers"), 266);
assertToStringEquals("A", res[169].firstMatch("AB"), 267);
assertNull(res[172].firstMatch("\\"), 268);
assertNull(res[177].firstMatch("*** Failers"), 269);
assertNull(res[177].firstMatch("xxxxx"), 270);
assertNull(
res[177].firstMatch(
"now is the time for all good men to come to the aid of the party"),
271);
assertNull(res[177].firstMatch("*** Failers"), 272);
assertNull(
res[177].firstMatch("this is not a line with only words and spaces!"),
273);
assertNull(res[177].firstMatch("12345a"), 274);
assertNull(res[177].firstMatch("*** Failers"), 275);
assertNull(res[177].firstMatch("12345+"), 276);
assertNull(res[177].firstMatch("aaab"), 277);
assertNull(res[177].firstMatch("aaab"), 278);
assertNull(res[177].firstMatch("aaab"), 279);
assertNull(res[177].firstMatch("((abc(ade)ufh()()x"), 280);
assertNull(res[177].firstMatch("(abc)"), 281);
assertNull(res[177].firstMatch("(abc(def)xyz)"), 282);
assertNull(res[177].firstMatch("*** Failers"), 283);
assertNull(
res[177].firstMatch("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
284);
assertNull(res[177].firstMatch("xaaaab"), 285);
assertNull(res[177].firstMatch("xaaaab"), 286);
assertThrows(() => new RegExp(r"["), 287);
assertThrows(() => new RegExp(r"[a-"), 288);
assertNull(res[189].firstMatch("<>"), 289);
assertNull(res[189].firstMatch("<abcd>"), 290);
assertNull(res[189].firstMatch("<abc <123> hij>"), 291);
assertNull(res[189].firstMatch("<abc <def> hij>"), 292);
assertNull(res[189].firstMatch("<abc<>def>"), 293);
assertNull(res[189].firstMatch("<abc<>"), 294);
assertNull(res[189].firstMatch("*** Failers"), 295);
assertNull(res[189].firstMatch("<abc"), 296);
assertToStringEquals("bc123bc,bc,bc", res[195].firstMatch("abc123bc"), 297);
assertToStringEquals("abc", res[215].firstMatch("abcdef"), 298);
assertToStringEquals("abc", res[215].firstMatch("1234abcdef"), 299);
assertNull(res[215].firstMatch("*** Failers"), 300);
assertToStringEquals("abc", res[215].firstMatch("abcxyz"), 301);
assertToStringEquals("abc", res[215].firstMatch("abcxyzf"), 302);
assertToStringEquals("abc", res[215].firstMatch("123abcdef"), 303);
assertToStringEquals("abc", res[215].firstMatch("1234abcdef"), 304);
assertNull(res[215].firstMatch("*** Failers"), 305);
assertToStringEquals("abc", res[215].firstMatch("abcdef"), 306);
assertNull(res[215].firstMatch("*** Failers"), 307);
assertToStringEquals("abc", res[215].firstMatch("\x83x0abcdef"), 308);
assertToStringEquals("abc", res[215].firstMatch("123abcdef"), 309);
assertToStringEquals("abc", res[215].firstMatch("123abcdefC+"), 310);
assertToStringEquals("abc", res[215].firstMatch("123abcdefC-"), 311);
assertNull(res[215].firstMatch("*** Failers"), 312);
assertToStringEquals("abc", res[215].firstMatch("123abcdefC!1"), 313);
assertToStringEquals("abc", res[215].firstMatch("abcabcabc"), 314);
assertToStringEquals("abc", res[215].firstMatch("abcabcC!1!3"), 315);
assertNull(res[215].firstMatch("*** Failers"), 316);
assertToStringEquals("abc", res[215].firstMatch("abcabcabcC!1!3"), 317);
assertToStringEquals("C", res[215].firstMatch("123C+"), 318);
assertToStringEquals("C", res[215].firstMatch("123456C+"), 319);
assertToStringEquals("C", res[215].first