112
114
{ test real backtracking }
114
r:=GenerateRegExprEngine('nofoo|foo',[]);
116
(* r:=GenerateRegExprEngine('nofoo|foo',[]);
115
117
if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or
116
118
(index<>7) or (len<>3) then
118
DestroyregExprEngine(r);
120
DestroyregExprEngine(r);*)
122
r := GenerateRegExprEngine('abc\(123\)$',[]);
123
if not (RegExprPos(r,'1234 abc(123)', index, len)) or
124
(index <> 5) or (len <> 8) then
126
DestroyregExprEngine(r);
128
r := GenerateRegExprEngine('^\t$',[ref_singleline]);
129
if not (RegExprPos(r,#9, index, len)) or
130
(index <> 0) or (len <> 1) then
132
DestroyregExprEngine(r);
134
r := GenerateRegExprEngine('^\n$',[ref_singleline]);
135
if not (RegExprPos(r,#10, index, len)) or
136
(index <> 0) or (len <> 1) then
138
DestroyregExprEngine(r);
140
r := GenerateRegExprEngine('^\f$',[ref_singleline]);
141
if not (RegExprPos(r,#12, index, len)) or
142
(index <> 0) or (len <> 1) then
144
DestroyregExprEngine(r);
146
r := GenerateRegExprEngine('^\r$',[ref_singleline]);
147
if not (RegExprPos(r,#13, index, len)) or
148
(index <> 0) or (len <> 1) then
150
DestroyregExprEngine(r);
152
r := GenerateRegExprEngine('^\a$',[ref_singleline]);
153
if not (RegExprPos(r,#7, index, len)) or
154
(index <> 0) or (len <> 1) then
156
DestroyregExprEngine(r);
158
s := '^Hello World \. [a-z] \D { } |() ?a*.*\\ 1 $';
159
writeln ('Before Escaping: ', s);
160
writeln ('Afther Escaping: ', RegExprEscapeStr(s));
121
163
r:=GenerateRegExprEngine('(nofoo|foo)1234',[]);