⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 other.c

📁 正则表达式库
💻 C
📖 第 1 页 / 共 2 页
字号:
  TEST_SEARCH ("d$|c(a$|$)", "xc", 0, 2);  TEST_SEARCH ("d$|c(a$|$)", "xca", 0, 3);  TEST_SEARCH ("d$|c($|b$)", "xd", 0, 2);  TEST_SEARCH ("d$|c($|b$)", "xc", 0, 2);  TEST_SEARCH ("d$|c($|b$)", "xcb", 0, 3);  TEST_SEARCH ("$|c(a$|b$)", "x", 0, 1);  TEST_SEARCH ("$|c(a$|b$)", "xca", 0, 3);  TEST_SEARCH ("$|c(a$|b$)", "xcb", 0, 3);  TEST_SEARCH ("e(d$|c((a$|$)))", "xed", 0, 3);  TEST_SEARCH ("e(d$|c((a$|$)))", "xec", 0, 3);  TEST_SEARCH ("e(d$|c((a$|$)))", "xeca", 0, 3);  TEST_SEARCH ("e(d$|c(($|b$)))", "xed", 0, 3);  TEST_SEARCH ("e(d$|c(($|b$)))", "xec", 0, 3);  TEST_SEARCH ("e(d$|c(($|b$)))", "xecb", 0, 4);  TEST_SEARCH ("e($|c((a$|b$)))", "xe", 0, 2);  TEST_SEARCH ("e($|c((a$|b$)))", "xeca", 0, 4);  TEST_SEARCH ("e($|c((a$|b$)))", "xecb", 0, 4);  TEST_SEARCH ("ed$|(c((a$|$)))", "xed", 0, 3);  TEST_SEARCH ("ed$|(c((a$|$)))", "xc", 0, 2);  TEST_SEARCH ("ed$|(c((a$|$)))", "xca", 0, 3);  TEST_SEARCH ("ed$|(c(($|b$)))", "xed", 0, 3);  TEST_SEARCH ("ed$|(c(($|b$)))", "xc", 0, 2);  TEST_SEARCH ("ed$|(c(($|b$)))", "xcb", 0, 3);  TEST_SEARCH ("$|(c((a$|b$)))", "x", 0, 1);  TEST_SEARCH ("$|(c((a$|b$)))", "xca", 0, 3);  TEST_SEARCH ("$|(c((a$|b$)))", "xcb", 0, 3);  TEST_SEARCH ("d$|($|(a|b)$)", "x", 0, 1);  TEST_SEARCH ("d$|($|(a|b)$)", "xa", 0, 2);  TEST_SEARCH ("d$|($|(a|b)$)", "xb", 0, 2);  TEST_SEARCH ("$|(c$|(a|b)$)", "x", 0, 1);  TEST_SEARCH ("$|(c$|(a|b)$)", "xc", 0, 2);  TEST_SEARCH ("$|(c$|(a|b)$)", "xa", 0, 2);  TEST_SEARCH ("$|(c$|(a|b)$)", "xb", 0, 2);  re_set_syntax (0);  test_match ("[^\n]", "a");  test_match ("[^a]", "\n");  TEST_SEARCH ("^a", "b\na", 0, 3);  TEST_SEARCH ("b$", "b\na", 0, 3);  test_case_fold ("[!-`]", "A");  test_case_fold ("[!-`]", "a");    re_set_syntax (RE_CONTEXT_INDEP_OPS | RE_NO_BK_VBAR | RE_NO_BK_PARENS                  | RE_NO_BK_BRACES | RE_INTERVALS);  valid_nonposix_pattern ("()^a");  valid_nonposix_pattern ("()\\1^a");  /* Per Cederqvist (cedar@lysator.liu.se) bug.  */  re_set_syntax (RE_SYNTAX_EMACS);  /* One `a' before the \n and 638 a's after it.  */  test_search_return (0, "\\(.*\\)\n\\(\\(.\\|\n\\)*\\)$", "a\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");  /* No a's before the \n and 639 a's after it.  */  test_search_return (0, "\\(.*\\)\n\\(\\(.\\|\n\\)*\\)$", "\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");  /* One `a' before the \n and 639 a's after it.  */  test_search_return (0, "\\(.*\\)\n\\(\\(.\\|\n\\)*\\)$", "a\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");  /* No a's before the \n and 640 a's after it.  */  test_search_return (0, "\\(.*\\)\n\\(\\(.\\|\n\\)*\\)$", "\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");  re_set_syntax (RE_NO_BK_VBAR | RE_NO_BK_PARENS);  TEST_SEARCH ("^(^a)", "ab", 0, 2);  TEST_SEARCH ("(a$)$", "ba", 0, 2);  test_match ("a|$b", "$b");    /* Mike's curiosity item.  */  re_set_syntax (RE_NO_BK_VBAR | RE_NO_BK_PARENS);  test_all_registers ("(foo|foobar)(foo|bar)*\\1(foo|bar)*",  		      "foobarfoobar", "",    0, 12,  0, 3,  3, 6,  9, 12,  -1, -1,   -1, -1,   -1, -1,   -1, -1,      -1, -1,   -1, -1);  /* Another one from Mike.  */  test_match ("(foo|foobarfoo)(bar)*", "foobarfoo");    /* And another.  */  test_match("(foo|foobar)(bar|barfoo)?\\1", "foobarfoobar");    re_set_syntax (RE_NO_BK_PARENS | RE_INTERVALS | RE_NO_BK_VBAR                 | RE_NO_BK_BRACES);  /* xx get new ones from ext.*/  test_match ("((a{0,}{0,0}()\\3\\b\\B\\<\\>\\`\\')|b)*", "bb");  test_all_registers ("((a{0,}{0,0}()\\3\\b\\B\\<\\>\\`\\')|b)*", "", "bb",     0, 2, 1, 2, -1, -1,  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,    -1, -1);  test_match ("((a+?*{0,}{0,0}()\\3\\b\\B\\<\\>\\`\\')|b)", "b");  test_all_registers ("((a+?*{0,}{0,0}()\\3\\b\\B\\<\\>\\`\\')|b)", "", "b",    0, 1, 0, 1, -1, -1,  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,    -1, -1);						/* Valid anchoring.  */          /* See generic_test.c and extended_test.c for more search             tests. xx Not sure all these tests are represented in the             search tests.  */            re_set_syntax (RE_NO_BK_PARENS | RE_NO_BK_VBAR);  valid_nonposix_pattern     ("(((((((((((((((((((((((((((((((((^a)))))))))))))))))))))))))))))))))");  valid_nonposix_pattern     ("(((((((((((((((((((((((((((((((((a$)))))))))))))))))))))))))))))))))");  valid_nonposix_pattern ("\\b\\B\\<\\>\\`\\'^a");  valid_nonposix_pattern ("a$\\b\\B\\<\\>\\`\\'");  valid_nonposix_pattern ("(^a)");  valid_nonposix_pattern ("(a$)");  valid_nonposix_pattern ("(^a)b");  valid_nonposix_pattern ("b(a$)");  valid_nonposix_pattern ("(^a|^b)c");  valid_nonposix_pattern ("c(a$|b$)");  valid_nonposix_pattern ("(^a|^b)|^c");  valid_nonposix_pattern ("(a$|b$)|c$");  valid_nonposix_pattern ("^c|(^a|^b)");  valid_nonposix_pattern ("c$|(a$|b$)");  valid_nonposix_pattern ("(^a|^b)c|^d");  valid_nonposix_pattern ("c(a$|b$)|d$");  valid_nonposix_pattern ("(((^a|^b))c|^d)e");  valid_nonposix_pattern ("(c((a|b))|d)e$");  valid_nonposix_pattern ("^d(c|e((a|b)))");  valid_nonposix_pattern ("d(c$|e((a$|b$)))");  valid_nonposix_pattern ("(((^a|^b))c)|^de");  valid_nonposix_pattern ("(((a|b))c$)|de$");  valid_nonposix_pattern ("((a$)$)$");  valid_nonposix_pattern ("^(^(^a))");  valid_nonposix_pattern ("^de|^(c((a|b)))");  valid_nonposix_pattern ("^de|(^c((a|b)))");  valid_nonposix_pattern ("de$|(c((a|b)$))");  valid_nonposix_pattern ("de$|(c((a|b))$)");  valid_nonposix_pattern ("de$|(c((a|b)))$");  valid_nonposix_pattern ("^a(b|c)|^d");  valid_nonposix_pattern ("a(b$|c$)|d$");  valid_nonposix_pattern ("^d|^a(b|c)");  valid_nonposix_pattern ("d$|a(b$|c$)");  valid_nonposix_pattern ("^d|^(b|c)a");  valid_nonposix_pattern ("d$|(b|c)a$");  valid_nonposix_pattern ("^(a)(b|c)|^d");  valid_nonposix_pattern ("(a)(b|c)$|d$");  valid_nonposix_pattern ("(^a)(b|c)|^d");  valid_nonposix_pattern ("(a)(b$|c$)|d$");  valid_nonposix_pattern ("^d|^(b|c)(a)");  valid_nonposix_pattern ("d$|(b|c)(a)$");  valid_nonposix_pattern ("^d|(^b|^c)(a)");  valid_nonposix_pattern ("d$|(b|c)(a$)");  valid_nonposix_pattern ("^d|^(a)(b|c)");  valid_nonposix_pattern ("^d|(^a)(b|c)");  valid_nonposix_pattern ("d$|(a)(b$|c$)");  valid_nonposix_pattern ("((^a|^b)|^c)|^d");  valid_nonposix_pattern ("d$|(c$|(a$|b$))");  /* Tests shouldn't match.  */  test_should_match = false;  /* Test that RE_CONTEXT_INVALID_OPS has precedence over     RE_CONTEXT_INDEP_OPS.  */  re_set_syntax (RE_CONTEXT_INDEP_OPS | RE_CONTEXT_INVALID_OPS                 | RE_NO_BK_VBAR | RE_NO_BK_PARENS                  | RE_NO_BK_BRACES | RE_INTERVALS);  INVALID_PATTERN ("*");  INVALID_PATTERN ("^*");  INVALID_PATTERN ("a|*");  INVALID_PATTERN ("(*)");  INVALID_PATTERN ("^+");  INVALID_PATTERN ("+");  INVALID_PATTERN ("a|+");  INVALID_PATTERN ("(+)");  INVALID_PATTERN ("^?");  INVALID_PATTERN ("?");  INVALID_PATTERN ("a|?");  INVALID_PATTERN ("(?)");  INVALID_PATTERN ("^{1}");  INVALID_PATTERN ("{1}");  INVALID_PATTERN ("a|{1}");  INVALID_PATTERN ("({1})");#if 0  /* No longer have this syntax option -- POSIX says empty alternatives     are undefined as of draft 11.2.  */  /* You can't have empty alternatives if RE_NO_EMPTY_ALTS is set.  */    re_set_syntax (RE_NO_BK_VBAR | RE_NO_BK_PARENS | RE_NO_EMPTY_ALTS);    INVALID_PATTERN ("|");  INVALID_PATTERN ("^|a");  INVALID_PATTERN ("a|");  INVALID_PATTERN ("a||");  INVALID_PATTERN ("a||b");  INVALID_PATTERN ("(|a)");  INVALID_PATTERN ("(a|)");  INVALID_PATTERN ("(a|)");  /* Test above with `\(' and `\)'.  */  re_set_syntax (RE_NO_BK_VBAR | RE_NO_EMPTY_ALTS);  INVALID_PATTERN ("\\(|a\\)");  INVALID_PATTERN ("\\(a|\\)");  re_set_syntax (RE_NO_BK_VBAR | RE_NO_BK_PARENS | RE_NO_EMPTY_ALTS);  INVALID_PATTERN ("(|)()$|d$");#endif  /* Test grouping.  */  test_match ("()", "a");			  /* Test backslashed intervals that are CONTEXTly invalid if have     nothing on which to operate.  */  re_set_syntax (RE_INTERVALS | RE_CONTEXT_INVALID_OPS);  INVALID_PATTERN ("\\{1\\}");  re_set_syntax (0);  test_match ("z-a", "a");  re_set_syntax (RE_BK_PLUS_QM);  INVALID_PATTERN ("a*\\");    re_set_syntax (0);  INVALID_PATTERN ("a*\\");    re_set_syntax (RE_BACKSLASH_ESCAPE_IN_LISTS);  INVALID_PATTERN ("[\\");  #if 0  /* Empty groups are always ok now.  (13 Sep 92)  */  re_set_syntax (RE_NO_BK_VBAR | RE_NO_BK_PARENS | RE_NO_EMPTY_GROUPS);  INVALID_PATTERN ("(|)()$|d$");#endif  printf ("\nFinished non-POSIX tests.\n");}/*Local variables:make-backup-files: tversion-control: ttrim-versions-without-asking: nilEnd:*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -