]> git.saurik.com Git - apple/libc.git/blame - tests/regex/datafiles/tre-tests-extended-enhanced.dat
Libc-1082.50.1.tar.gz
[apple/libc.git] / tests / regex / datafiles / tre-tests-extended-enhanced.dat
CommitLineData
5f125488
A
1# Large number of macros in one regexp.
2E$H [A-Z]\\d\\s?\\d[A-Z]{2}|[A-Z]\\d{2}\\s?\\d[A-Z]{2}|[A-Z]{2}\\d\\s?\\d[A-Z]{2}|[A-Z]{2}\\d{2}\\s?\\d[A-Z]{2}|[A-Z]\\d[A-Z]\\s?\\d[A-Z]{2}|[A-Z]{2}\\d[A-Z]\\s?\\d[A-Z]{2}|[A-Z]{3}\\s?\\d[A-Z]{2} A12BC (0,5)
3E$H SAME A1 2BC (0,6)
4E$H SAME A123BC (0,6)
5E$H SAME AB1 2BC (0,7)
6E$H SAME AB12 3CD (0,8)
7E$H SAME A1B 2CD (0,7)
8E$H SAME AB1C 2DE (0,8)
9E$H SAME ABC 1DE (0,7)
10# Test leftmost and longest matching and some tricky submatches
11#E (?l)(wee|week)(night|knights)s* weeknights (0,10)(0,3)(3,10)
12#E SAME weeknightss (0,11)(0,3)(3,10)
13# Tests for nonstandard syntax extensions.
14#
15# Zero width assertions
16EH \<x aax xaa (4,5)
17EH SAME xaa (0,1)
18EH x\> axx xaa (2,3)
19EH SAME aax (2,3)
20EH \bx axx xaa (4,5)
21EH SAME aax NOMATCH
22EH SAME xax (0,1)
23EH x\b axx xaa (2,3)
24EH SAME aax (2,3)
25EH SAME xaa NOMATCH
26EH \Bx aax xxa (2,3)
27EH \Bx\b aax xxx (2,3)
28EH \<. ;xaa (1,2)
29# Shorthands for character classes
30EH \w{1,} ,.(a23_Nt-öo) (3,9)
31EH \d{1,} uR120_4=v4 (2,5)
32EH \D{1,} 120d_=vA4s (3,8)
33EH \w+ ,.(a23_Nt-öo) (3,9)
34EH \d+ uR120_4=v4 (2,5)
35EH \D+ 120d_=vA4s (3,8)
36# Quoted special characters
37E$H \\t \t (0,1)
38E$H \\e \033 (0,1)
39# Test the \x1B and \x{263a} extensions for specifying 8 bit and wide
40# characters in hexadecimal.
41EH \x41 ABC (0,1)
42E$H \\x5 \005 (0,1)
43E$H \\x5r \005r (0,2)
44# test_comp("\\x",REG_EXTENDED,0)
45# test_nexec("\000",1,0,REG_OK,0,1)
46# test_comp("\\xr",REG_EXTENDED,0)
47# test_nexec("\000r",2,0,REG_OK,0,2)
48EH \x{41} ABC (0,1)
49E$H \\x{5} \005 (0,1)
50E$H \\x{5}r \005r (0,2)
51# test_comp("\\x{}",REG_EXTENDED,0)
52# test_nexec("\000",1,0,REG_OK,0,1)
53# test_comp("\\x{}r",REG_EXTENDED,0)
54# test_nexec("\000r",2,0,REG_OK,0,2)
55# Tests for (?inrU-inrU) and (?inrU-inrU:)
56EH foo(?i)bar fooBaR (0,6)
57EH foo(?i)bar|zap fooBaR (0,6)
58EH SAME foozap (3,6)
59EH SAME foozAp (3,6)
60EH SAME bar NOMATCH
61EH SAME zap (0,3)
62EiH foo(?-i:zap)zot FoOzapZOt (0,9)
63EiH SAME FoOzApZOt NOMATCH
64EH foo(?i:bar|zap) foozap (0,6)
65EH SAME foobar (0,6)
66EH SAME foobAr (0,6)
67EH SAME fooZaP (0,6)
68EH foo(?U:o*)(o*) foooo (0,5)(3,5)
69# Test comment syntax
70EH foo(?# This here is a comment. )bar foobar (0,6)
71# Tests for \Q and \E
72EH \((\Q)?:\<[^$\E) ()?:\<[^$ (0,9)(1,9)
73EH \Qabc\E.* abcdef (0,6)
74EH \Qabc\E.*|foo parabc123wxyz (3,13)
75EH SAME fooabc123wxyz (0,3)
76# Back referencing tests
77EH ([a-z]*) \1 foobar foobar (0,13)(0,6)
78# Searching for a leftmost longest square (repeated string)
79EH (.*)\1 foobarfoobar (0,12)(0,6)
80EH a(b)*c\1 acb NOMATCH
81EH SAME abbcbbb (0,5)(2,3)
82EH SAME abbdbd NOMATCH
83EH ([a-c]*)\1 abcacdef (0,0)(0,0)
84EH SAME abcabcabcd (0,6)(0,3)
85EH (a*)*(x)(\1) x (0,1)(0,0)(0,1)(1,1)
86EH SAME ax (0,2)(1,1)(1,2)(2,2)
87EH (a)\1{1,2} aabc (0,2)(0,1)
88EH ((.*)\1)+ aa ESUBREG
89EH ()(\1\1)* NULL (0,0)(0,0)(0,0)
90# Check that back references work with REG_NOSUB
91EHw (o)\1 foobar NULL
92EH (o)\1 foobar (1,3)(1,2)
93EH SAME fobar NOMATCH
94EH \1foo NULL ESUBREG
95EH \1foo(bar) x ESUBREG
96# Back reference with zero-width assertion
97EH (.)\1$ foox NOMATCH
98EH SAME foo (1,3)(1,2)
99# Back references together with {}
100EH ([0-9]{5})\1 12345 NOMATCH
101EH SAME 1234512345 (0,10)(0,5)
102EH ([0-9]{4})\1 1234 NOMATCH
103EH SAME 12341234 (0,8)(0,4)
104# Test minimal repetitions (non-greedy repetitions)
105#
106# Basic
107EH .*? abcd (0,0)
108EH .+? abcd (0,1)
109EH .?? abcd (0,0)
110EH .{2,5}? abcd (0,2)
111# More complicated
112EH <b>(.*?)</b> <b>text1</b><b>text2</b> (0,12)(3,8)
113EH a(.*?)(foo|bar|zap) hubba wooga-booga zabar gafoo wazap (4,23)(5,20)(20,23)
114# Test REG_UNGREEDY
115EHm .* abcd (0,0)
116EHm .*? abcd (0,4)
117##### Extras
118# ^ magic after |
119EH (a|^b) bas (0,1)(0,1)