Lines Matching refs:RE

47 using pcrecpp::RE;
71 RE pattern("ruby:\\d+");
80 RE pattern("ruby:(\\d+)");
94 RE line_matcher(".*\n");
116 RE newre(buf);
133 CHECK(RE("([0-9a-fA-F]+)[uUlL]*").FullMatch(#value, Hex(&v))); \
135 CHECK(RE("([0-9a-fA-FxX]+)[uUlL]*").FullMatch("0x" #value, CRadix(&v))); \
159 CHECK(RE("([0-7]+)[uUlL]*").FullMatch(#value, Octal(&v))); \
161 CHECK(RE("([0-9a-fA-FxX]+)[uUlL]*").FullMatch("0" #value, CRadix(&v))); \
185 CHECK(RE("(-?[0-9]+)[uUlL]*").FullMatch(#value, &v)); \
187 CHECK(RE("(-?[0-9a-fA-FxX]+)[uUlL]*").FullMatch(#value, CRadix(&v))); \
336 RE re(t->regexp, RE_Options(PCRE_NEWLINE_CRLF).set_utf8(support_utf8));
349 RE re("b*", RE_Options(PCRE_NEWLINE_CR).set_utf8(support_utf8));
356 RE re("b*", RE_Options(PCRE_NEWLINE_LF).set_utf8(support_utf8));
371 CHECK(RE("(.*)@([^.]*)").Extract("\\2!\\1", "boris@kremvax.ru", &s));
374 // check the RE interface as well
375 CHECK(RE(".*").Extract("'\\0'", "foo", &s));
377 CHECK(!RE("bar").Extract("'\\0'", "baz", &s));
389 RE r("\\s*(\\w+)"); // matches a word, possibly proceeded by whitespace
405 RE r("(\\w+)"); // matches a word
422 RE r("(foo)|(bar)|(baz)");
438 CHECK(RE("(foo)|hello").FullMatch("hello", &a));
455 RE re("(\\w+)*b", options_ml);
462 RE re2("(\\w+)*b", options_ml);
470 RE re3("(\\w+)*b", options_mlr);
477 RE re4("(\\w+)*b", options_mlr);
487 string quoted = RE::QuoteMeta(unquoted);
488 RE re(quoted, options);
496 string quoted = RE::QuoteMeta(unquoted);
497 RE re(quoted, options);
580 RE(regex,options).FullMatch(str, &captured);
582 RE(regex,options).PartialMatch(str, &captured);
602 CHECK(RE(regex,options).FullMatch(str));
604 CHECK(RE(regex,options).PartialMatch(str));
607 CHECK(!RE(regex,options).FullMatch(str));
609 CHECK(!RE(regex,options).PartialMatch(str));
713 RE re("(world|universe)$", options);
788 RE orig("HELLO.*world", options);
791 RE copy1(orig);
794 RE copy2("not a match");
844 CHECK(RE("h.*o").FullMatch("hello"));
845 CHECK(!RE("h.*o").FullMatch("othello")); // Must be anchored at front
846 CHECK(!RE("h.*o").FullMatch("hello!")); // Must be anchored at end
847 CHECK(RE("a*").FullMatch("aaaa")); // Fullmatch with normal op
848 CHECK(RE("a*?").FullMatch("aaaa")); // Fullmatch with nongreedy op
849 CHECK(RE("a*?\\z").FullMatch("aaaa")); // Two unusual ops
854 CHECK(RE("\\d+").FullMatch("1001"));
857 CHECK(RE("(\\d+)").FullMatch("1001", &i));
859 CHECK(RE("(-?\\d+)").FullMatch("-123", &i));
861 CHECK(!RE("()\\d+").FullMatch("10", &i));
862 CHECK(!RE("(\\d+)").FullMatch("1234567890123456789012345678901234567890",
866 CHECK(RE("1(\\d*)4").FullMatch("1234", &i));
868 CHECK(RE("(\\d)\\d+").FullMatch("1234", &i));
870 CHECK(RE("(-\\d)\\d+").FullMatch("-1234", &i));
872 CHECK(RE("(\\d)").PartialMatch("1234", &i));
874 CHECK(RE("(-\\d)").PartialMatch("-1234", &i));
878 CHECK(RE("h(.*)o").FullMatch("hello", &s));
883 CHECK(RE("(\\w+):(\\d+)").FullMatch("ruby:1234", &sp, &i));
889 CHECK(RE("(\\w+):(\\d+)").FullMatch("ruby:1234", &s, &i));
894 CHECK(RE("he(.*)lo").FullMatch("hello", (char*)NULL));
895 CHECK(RE("h(.*)o").FullMatch("hello", (string*)NULL));
896 CHECK(RE("h(.*)o").FullMatch("hello", (StringPiece*)NULL));
897 CHECK(RE("(.*)").FullMatch("1234", (int*)NULL));
899 CHECK(RE("(.*)").FullMatch("1234567890123456", (long long*)NULL));
901 CHECK(RE("(.*)").FullMatch("123.4567890123456", (double*)NULL));
902 CHECK(RE("(.*)").FullMatch("123.4567890123456", (float*)NULL));
905 CHECK(!RE("h(.*)lo").FullMatch("hello", &s, (char*)NULL));
906 CHECK(!RE("(.*)").FullMatch("hello", (int*)NULL));
907 CHECK(!RE("(.*)").FullMatch("1234567890123456", (int*)NULL));
908 CHECK(!RE("(.*)").FullMatch("hello", (double*)NULL));
909 CHECK(!RE("(.*)").FullMatch("hello", (float*)NULL));
912 CHECK(RE("(\\w+)(:)(\\d+)").FullMatch("ruby:1234", &s, (void*)NULL, &i));
919 CHECK(RE("(H)ello").FullMatch("Hello", &c));
924 CHECK(RE("(H)ello").FullMatch("Hello", &c));
929 CHECK(RE("(-?\\d+)").FullMatch("100", &v)); CHECK_EQ(v, 100);
930 CHECK(RE("(-?\\d+)").FullMatch("-100", &v)); CHECK_EQ(v, -100);
931 CHECK(RE("(-?\\d+)").FullMatch("32767", &v)); CHECK_EQ(v, 32767);
932 CHECK(RE("(-?\\d+)").FullMatch("-32768", &v)); CHECK_EQ(v, -32768);
933 CHECK(!RE("(-?\\d+)").FullMatch("-32769", &v));
934 CHECK(!RE("(-?\\d+)").FullMatch("32768", &v));
938 CHECK(RE("(\\d+)").FullMatch("100", &v)); CHECK_EQ(v, 100);
939 CHECK(RE("(\\d+)").FullMatch("32767", &v)); CHECK_EQ(v, 32767);
940 CHECK(RE("(\\d+)").FullMatch("65535", &v)); CHECK_EQ(v, 65535);
941 CHECK(!RE("(\\d+)").FullMatch("65536", &v));
947 CHECK(RE("(-?\\d+)").FullMatch("100", &v)); CHECK_EQ(v, 100);
948 CHECK(RE("(-?\\d+)").FullMatch("-100", &v)); CHECK_EQ(v, -100);
949 CHECK(RE("(-?\\d+)").FullMatch("2147483647", &v)); CHECK_EQ(v, max_value);
950 CHECK(RE("(-?\\d+)").FullMatch("-2147483648", &v)); CHECK_EQ(v, min_value);
951 CHECK(!RE("(-?\\d+)").FullMatch("-2147483649", &v));
952 CHECK(!RE("(-?\\d+)").FullMatch("2147483648", &v));
957 CHECK(RE("(\\d+)").FullMatch("100", &v)); CHECK_EQ(v, 100);
958 CHECK(RE("(\\d+)").FullMatch("4294967295", &v)); CHECK_EQ(v, max_value);
959 CHECK(!RE("(\\d+)").FullMatch("4294967296", &v));
975 CHECK(RE("(-?\\d+)").FullMatch("100", &v)); CHECK_EQ(v, 100);
976 CHECK(RE("(-?\\d+)").FullMatch("-100",&v)); CHECK_EQ(v, -100);
979 CHECK(RE("(-?\\d+)").FullMatch(buf,&v)); CHECK_EQ(v, max_value);
982 CHECK(RE("(-?\\d+)").FullMatch(buf,&v)); CHECK_EQ(v, min_value);
987 CHECK(!RE("(-?\\d+)").FullMatch(buf, &v));
992 CHECK(!RE("(-?\\d+)").FullMatch(buf, &v));
1002 CHECK(RE("(-?\\d+)").FullMatch("100",&v)); CHECK_EQ(v, 100);
1003 CHECK(RE("(-?\\d+)").FullMatch("-100",&v2)); CHECK_EQ(v2, -100);
1006 CHECK(RE("(-?\\d+)").FullMatch(buf,&v)); CHECK_EQ(v, max_value);
1010 CHECK(!RE("(-?\\d+)").FullMatch(buf, &v));
1015 CHECK(RE("(.*)").FullMatch("100", &v));
1016 CHECK(RE("(.*)").FullMatch("-100.", &v));
1017 CHECK(RE("(.*)").FullMatch("1e23", &v));
1021 CHECK(RE("(.*)").FullMatch("100", &v));
1022 CHECK(RE("(.*)").FullMatch("-100.", &v));
1023 CHECK(RE("(.*)").FullMatch("1e23", &v));
1027 CHECK(!RE("(\\d+)").FullMatch("x1001", &i));
1028 CHECK(!RE("(\\d+)").FullMatch("1001x", &i));
1029 CHECK(RE("x(\\d+)").FullMatch("x1001", &i)); CHECK_EQ(i, 1001);
1030 CHECK(RE("(\\d+)x").FullMatch("1001x", &i)); CHECK_EQ(i, 1001);
1033 CHECK(RE("[0-9a-f+.-]{5,}").FullMatch("0abcd"));
1034 CHECK(RE("[0-9a-f+.-]{5,}").FullMatch("0abcde"));
1035 CHECK(!RE("[0-9a-f+.-]{5,}").FullMatch("0abc"));
1037 // Complicated RE
1038 CHECK(RE("foo|bar|[A-Z]").FullMatch("foo"));
1039 CHECK(RE("foo|bar|[A-Z]").FullMatch("bar"));
1040 CHECK(RE("foo|bar|[A-Z]").FullMatch("X"));
1041 CHECK(!RE("foo|bar|[A-Z]").FullMatch("XY"));
1044 CHECK(RE("fo|foo").FullMatch("fo"));
1045 CHECK(RE("fo|foo").FullMatch("foo"));
1046 CHECK(RE("fo|foo$").FullMatch("fo"));
1047 CHECK(RE("fo|foo$").FullMatch("foo"));
1048 CHECK(RE("foo$").FullMatch("foo"));
1049 CHECK(!RE("foo\\$").FullMatch("foo$bar"));
1050 CHECK(!RE("fo|bar").FullMatch("fox"));
1057 CHECK(!RE("foo$").PartialMatch("foo\n"));
1062 CHECK(RE("").FullMatch(""));
1065 CHECK(RE("(\\d){1}").FullMatch("1",
1070 CHECK(RE("(\\d)(\\d)").FullMatch("12",
1076 CHECK(RE("(\\d)(\\d)(\\d)").FullMatch("123",
1083 CHECK(RE("(\\d)(\\d)(\\d)(\\d)").FullMatch("1234",
1091 CHECK(RE("(\\d)(\\d)(\\d)(\\d)(\\d)").FullMatch("12345",
1101 CHECK(RE("(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)").FullMatch("123456",
1112 CHECK(RE("(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)").FullMatch("1234567",
1124 CHECK(RE("(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)"
1152 CHECK(RE("h.*o").PartialMatch("hello"));
1153 CHECK(RE("h.*o").PartialMatch("othello"));
1154 CHECK(RE("h.*o").PartialMatch("hello!"));
1155 CHECK(RE("((((((((((((((((((((x))))))))))))))))))))").PartialMatch("x"));
1170 const RE re(kPattern);
1174 // Check RE error field.
1176 RE re("foo");
1200 RE re_test1(".........");
1202 RE re_test2("...", pcrecpp::UTF8());
1208 RE re_test3("(.)");
1211 RE re_test4("(.)", pcrecpp::UTF8());
1216 RE re_test5(utf8_string);
1218 RE re_test6(utf8_string, pcrecpp::UTF8());
1222 RE re_test7(utf8_pattern);
1224 RE re_test8(utf8_pattern, pcrecpp::UTF8());
1234 RE match_sentence(pattern);
1235 RE match_sentence_re(pattern, pcrecpp::UTF8());
1244 RE match_sentence(pattern);
1245 RE match_sentence_re(pattern, pcrecpp::UTF8());
1254 { RE re("a\\1"); CHECK(!re.error().empty()); }
1256 RE re("a[x");
1260 RE re("a[z-a]");
1264 RE re("a[[:foobar:]]");
1268 RE re("a(b");
1272 RE re("a\\");