Merge pull request #1304 from slluis/mac-proxy-autoconfig
[mono.git] / mcs / class / System / Test / System.Text.RegularExpressions / RegexReplaceTests.cs
1 using System;
2 using System.Text;
3 using System.Text.RegularExpressions;
4 using NUnit.Framework;
5
6 namespace MonoTests.System.Text.RegularExpressions
7 {
8         [TestFixture]
9         public class RegexReplaceTests
10         {
11                 struct testcase
12                 {
13                         public string original, pattern, replacement, expected;
14                         public testcase (string o, string p, string r, string e) {
15                                 original = o;
16                                 pattern = p;
17                                 replacement = r;
18                                 expected = e;
19                         }
20                         public void Execute () {
21                                 string result;
22                                 try {
23                                         result = Regex.Replace (original, pattern, replacement);
24                                 }
25                                 catch (Exception) {
26                                         result = "Error.";
27                                 }
28                                 Assert.AreEqual (expected, result, "rr#: {0} ~ s,{1},{2},",
29                                         original, pattern, replacement);
30                         }
31                 }
32
33                 [Test]
34                 public void ReplaceTest_001 () { new testcase (@"(?(w)a|o)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
35                 [Test]
36                 public void ReplaceTest_002 () { new testcase (@"(?(w)|o)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
37                 [Test]
38                 public void ReplaceTest_003 () { new testcase (@"(?(w)a)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
39                 [Test]
40                 public void ReplaceTest_004 () { new testcase (@"(?(w)a|)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
41                 [Test]
42                 public void ReplaceTest_005 () { new testcase (@"(?(w)?|a|o)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
43                 [Test]
44                 public void ReplaceTest_006 () { new testcase (@"(?(w)||o)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
45                 [Test]
46                 public void ReplaceTest_007 () { new testcase (@"(?(w)(a)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
47                 [Test]
48                 public void ReplaceTest_008 () { new testcase (@"(?(w))\a|)", @"\(\?\(\w+\).*\|?.*\)", "r", "r").Execute (); }
49                 [Test]
50                 public void ReplaceTest_009 () { new testcase (@"(?(2)a|o)", @"\(\?\([^\)]+\).*\|?.*\)", "r", "r").Execute (); }
51                 [Test]
52                 public void ReplaceTest_010 () { new testcase (@"(?(|)a|o)", @"\(\?\([^\)]+\).*\|?.*\)", "r", "r").Execute (); }
53                 [Test]
54                 public void ReplaceTest_011 () { new testcase (@"a\3b", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\(\d+)", @"\5", @"a\5b").Execute (); }
55                 [Test]
56                 public void ReplaceTest_012 () { new testcase (@"\3b", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\(\d+)", @"\5", @"\5b").Execute (); }
57                 [Test]
58                 public void ReplaceTest_013 () { new testcase (@"\\3b", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\(\d+)", @"\5", @"\\3b").Execute (); }
59                 [Test]
60                 public void ReplaceTest_014 () { new testcase (@"\\\3b", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\(\d+)", @"\5", @"\\\5b").Execute (); }
61                 [Test]
62                 public void ReplaceTest_015 () { new testcase (@"a\\\\3b", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\(\d+)", @"\5", @"a\\\\3b").Execute (); }
63                 [Test]
64                 public void ReplaceTest_016 () { new testcase (@"\\\k<g>", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k<(\w+)>", @"\5", @"\\\5").Execute (); }
65                 [Test]
66                 public void ReplaceTest_017 () { new testcase (@"a\\\k<g>", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k<(\w+)>", @"\5", @"a\\\5").Execute (); }
67                 [Test]
68                 public void ReplaceTest_018 () { new testcase (@"\\\\k'g'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k'(\w+)'", @"\5", @"\\\\k'g'").Execute (); }
69                 [Test]
70                 public void ReplaceTest_019 () { new testcase (@"a\\\\k'g'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k'(\w+)'", @"\5", @"a\\\\k'g'").Execute (); }
71                 [Test]
72                 public void ReplaceTest_020 () { new testcase (@"\k'g'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k'(\w+)'", @"\5", @"\5").Execute (); }
73                 [Test]
74                 public void ReplaceTest_021 () { new testcase (@"(?<n1-n2>)", @"\(\?<[A-Za-z]\w*-[A-Za-z]\w*>.*\)", "r", "r").Execute (); }
75                 [Test]
76                 public void ReplaceTest_022 () { new testcase (@"(?'n1-n2'a)", @"\(\?'[A-Za-z]\w*-[A-Za-z]\w*'.*\)", "r", "r").Execute (); }
77                 [Test]
78                 public void ReplaceTest_023 () { new testcase (@"\p{Isa}", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\\[pP]\{)Is(?=\w+\})", "In", @"\p{Ina}").Execute (); }
79                 [Test]
80                 public void ReplaceTest_024 () { new testcase (@"\p{Is}", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\\[pP]\{)Is(?=\w+\})", "In", @"\p{Is}").Execute (); }
81                 [Test]
82                 public void ReplaceTest_025 () { new testcase (@"\p{Isa", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\\[pP]\{)Is(?=\w+\})", "In", @"\p{Isa").Execute (); }
83                 [Test]
84                 public void ReplaceTest_026 () { new testcase (@"a(?#|)", @"\(\?#[^\)]*\)", "", "a").Execute (); }
85                 [Test]
86                 public void ReplaceTest_027 () { new testcase (@"(?#|)", @"\(\?#[^\)]*\)", "", "").Execute (); }
87                 [Test]
88                 public void ReplaceTest_028 () { new testcase (@"(?#|)", @"\#[^\n\r]*", "", "(?").Execute (); }
89                 [Test]
90                 public void ReplaceTest_029 () { new testcase (@"(?inm-xs:\#)", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?[imsx]*n[-imsx]*:[^\)]+\)", "r", @"(r").Execute (); }
91                 [Test]
92                 public void ReplaceTest_030 () { new testcase (@"(?ni:())", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?[imsx]*n[-imsx]*:[^\)]+\)", "r", @"(r)").Execute (); }
93                 [Test]
94                 public void ReplaceTest_031 () { new testcase (@"(?x-i:)", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?[imsx]*n[-imsx]*:[^\)]+\)", "r", @"(?x-i:)").Execute (); }
95                 [Test]
96                 public void ReplaceTest_032 () { new testcase (@"(?n:))", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?[imsx]*n[-imsx]*:[^\)]+\)", "r", @"(?n:))").Execute (); }
97                 [Test]
98                 public void ReplaceTest_033 () { new testcase (@"(?<n1>)", @"\(\?<[A-Za-z]\w*>.*\)", "r", "r").Execute (); }
99                 [Test]
100                 public void ReplaceTest_034 () { new testcase (@"(?'n1'y)", @"\(\?'[A-Za-z]\w*'.*\)", "r", "r").Execute (); }
101                 [Test]
102                 public void ReplaceTest_035 () { new testcase (@"(?<45>y)", @"\(\?<\d+>.*\)", "r", "r").Execute (); }
103                 [Test]
104                 public void ReplaceTest_036 () { new testcase (@"(?'7'o)", @"\(\?'\d+'.*\)", "r", "r").Execute (); }
105                 [Test]
106                 public void ReplaceTest_037 () { new testcase (@"\\\(", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\\(", "r", @"\\r").Execute (); }
107                 [Test]
108                 public void ReplaceTest_038 () { new testcase (@"a\\\(", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\\(", "r", @"a\\r").Execute (); }
109                 [Test]
110                 public void ReplaceTest_039 () { new testcase (@"\\(", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\\(", "r", @"\\(").Execute (); }
111                 [Test]
112                 public void ReplaceTest_040 () { new testcase (@"a\\(", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\\(", "r", @"a\\(").Execute (); }
113                 [Test]
114                 public void ReplaceTest_041 () { new testcase (@"\(", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\\(", "r", @"r").Execute (); }
115                 [Test]
116                 public void ReplaceTest_042 () { new testcase (@"a\(", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\\(", "r", @"ar").Execute (); }
117                 [Test]
118                 public void ReplaceTest_043 () { new testcase (@"?:", @"(?:^\?[:imnsx=!>-]|^\?<[!=])", "r", "r").Execute (); }
119                 [Test]
120                 public void ReplaceTest_044 () { new testcase (@"?<!", @"(?:^\?[:imnsx=!>-]|^\?<[!=])", "r", "r").Execute (); }
121                 [Test]
122                 public void ReplaceTest_045 () { new testcase (@"?-", @"(?:^\?[:imnsx=!>-]|^\?<[!=])", "r", "r").Execute (); }
123                 [Test]
124                 public void ReplaceTest_046 () { new testcase (@"\\(?<n>", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?<[A-Za-z]\w*>", "r", @"\\(r").Execute (); }
125                 [Test]
126                 public void ReplaceTest_047 () { new testcase (@"a\\(?'n'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?'[A-Za-z]\w*'", "r", @"a\\(r").Execute (); }
127                 [Test]
128                 public void ReplaceTest_048 () { new testcase (@"\\\\(?<2>", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?<\d+>", "r", @"\\\\(r").Execute (); }
129                 [Test]
130                 public void ReplaceTest_049 () { new testcase (@"(?'2'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823}\()\?'\d+'", "r", "(r").Execute (); }
131                 [Test]
132                 public void ReplaceTest_050 () { new testcase (@"\\[\b]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\\b(?=[^\[\]]*\])", @"\\u0008", @"\\[\\u0008]").Execute (); }
133                 [Test]
134                 public void ReplaceTest_051 () { new testcase (@"\\[a\bb]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\\b(?=[^\[\]]*\])", @"\\u0008", @"\\[a\\u0008b]").Execute (); }
135                 [Test]
136                 public void ReplaceTest_052 () { new testcase (@"\[\b]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\\b(?=[^\[\]]*\])", @"\\u0008", @"\[\b]").Execute (); }
137                 [Test]
138                 public void ReplaceTest_053 () { new testcase (@"\\[\\b]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\\b(?=[^\[\]]*\])", @"\\u0008", @"\\[\\b]").Execute (); }
139                 [Test]
140                 public void ReplaceTest_054 () { new testcase (@"\\[\\\b]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\\b(?=[^\[\]]*\])", @"\\u0008", @"\\[\\\\u0008]").Execute (); }
141                 [Test]
142                 public void ReplaceTest_055 () { new testcase (@"[[]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\[(?=[^\[\]]*\])", @"\\[", @"[\\[]").Execute (); }
143                 [Test]
144                 public void ReplaceTest_056 () { new testcase (@"\[[]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\[(?=[^\[\]]*\])", @"\\[", @"\[[]").Execute (); }
145                 [Test]
146                 public void ReplaceTest_057 () { new testcase (@"\\[\\[]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\[(?=[^\[\]]*\])", @"\\[", @"\\[\\\\[]").Execute (); }
147                 [Test]
148                 public void ReplaceTest_058 () { new testcase (@"\\[\\\[]", @"(?<=(?:\A|[^\\])(?:[\\]{2})*(?:\[|\[[^\[\]]*[^\[\]\\])(?:[\\]{2})*)\[(?=[^\[\]]*\])", @"\\[", @"\\[\\\[]").Execute (); }
149                 [Test]
150                 public void ReplaceTest_059 () { new testcase (@"\\{", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\{(?!\d\d*(,(\d\d*)?)?\})", @"\\{", @"\\\\{").Execute (); }
151                 [Test]
152                 public void ReplaceTest_060 () { new testcase (@"\\{", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\{(?!\d\d*(,(\d\d*)?)?\})", @"\\{", @"\\\\{").Execute (); }
153                 [Test]
154                 public void ReplaceTest_061 () { new testcase (@"\\{1,2}", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\{(?!\d\d*(,(\d\d*)?)?\})", @"\\{", @"\\{1,2}").Execute (); }
155                 [Test]
156                 public void ReplaceTest_062 () { new testcase (@"\\{1}", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\{(?!\d\d*(,(\d\d*)?)?\})", @"\\{", @"\\{1}").Execute (); }
157                 [Test]
158                 public void ReplaceTest_063 () { new testcase (@"\\{1,}", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\{(?!\d\d*(,(\d\d*)?)?\})", @"\\{", @"\\{1,}").Execute (); }
159                 [Test]
160                 public void ReplaceTest_064 () { new testcase (@"\{1", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\{(?!\d\d*(,(\d\d*)?)?\})", @"\\{", @"\{1").Execute (); }
161                 [Test]
162                 public void ReplaceTest_065 () { new testcase (@"\\}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"\\\\}").Execute (); }
163                 [Test]
164                 public void ReplaceTest_066 () { new testcase (@"{\\}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"{\\\\}").Execute (); }
165                 [Test]
166                 public void ReplaceTest_067 () { new testcase (@"{1,2}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"{1,2}").Execute (); }
167                 [Test]
168                 public void ReplaceTest_068 () { new testcase (@"\\{1}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"\\{1}").Execute (); }
169                 [Test]
170                 public void ReplaceTest_069 () { new testcase (@"\\{1\}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"\\{1\\\}").Execute (); }
171                 [Test]
172                 public void ReplaceTest_070 () { new testcase (@"\{1}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"\{1\\}").Execute (); }
173                 [Test]
174                 public void ReplaceTest_071 () { new testcase (@"{1,}", @"(?<!(\A|[^\\])(\\{2})*\{\d\d*(,(\d\d*)?)?)\}", @"\\}", @"{1,}").Execute (); }
175                 [Test]
176                 public void ReplaceTest_072 () { new testcase (@"\0", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\\0(?!\d)", @"\\u0000", @"\\u0000").Execute (); }
177                 [Test]
178                 public void ReplaceTest_073 () { new testcase (@"\03", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\\0(?!\d)", @"\\u0000", @"\03").Execute (); }
179                 [Test]
180                 public void ReplaceTest_074 () { new testcase (@"\\0", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\\0(?!\d)", @"\\u0000", @"\\0").Execute (); }
181                 [Test]
182                 public void ReplaceTest_075 () { new testcase (@"\\\0a", @"(?<=(?:\A|[^\\])(?:[\\]{2})*)\\0(?!\d)", @"\\u0000", @"\\\\u0000a").Execute (); }
183                 [Test]
184                 public void ReplaceTest_076 () { new testcase (@"a(?<=b*c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"ar").Execute (); }
185                 [Test]
186                 public void ReplaceTest_077 () { new testcase (@"a(?<=b*c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"ar").Execute (); }
187                 [Test]
188                 public void ReplaceTest_078 () { new testcase (@"a(?<=b*c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"ar").Execute (); }
189                 [Test]
190                 public void ReplaceTest_079 () { new testcase (@"a(?<=b+c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"ar").Execute (); }
191                 [Test]
192                 public void ReplaceTest_080 () { new testcase (@"a(?<!b+c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"ar").Execute (); }
193                 [Test]
194                 public void ReplaceTest_081 () { new testcase (@"a(?<!b*c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"ar").Execute (); }
195                 [Test]
196                 public void ReplaceTest_082 () { new testcase (@"(?<!b{1}c))", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"(?<!b{1}c))").Execute (); }
197                 [Test]
198                 public void ReplaceTest_083 () { new testcase (@"(?<!b{1,}c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"r").Execute (); }
199                 [Test]
200                 public void ReplaceTest_084 () { new testcase (@"(?<!b{1,4}c)", @"\(\?\<[=!][^\)]*(?:[\*\+]|\{\d+,\}).*\)", @"r", @"(?<!b{1,4}c)").Execute (); }
201                 [Test]
202                 public void ReplaceTest_085 () { new testcase (@"\p{Isa}", @"(?<=\\[pP]\{)Is(?=\w+\})", "In", @"\p{Ina}").Execute (); }
203                 [Test]
204                 public void ReplaceTest_086 () { new testcase (@"\p{Is}", @"(?<=\\[pP]\{)Is(?=\w+\})", "In", @"\p{Is}").Execute (); }
205                 [Test]
206                 public void ReplaceTest_087 () { new testcase (@"\p{Isa", @"(?<=\\[pP]\{)Is(?=\w+\})", "In", @"\p{Isa").Execute (); }
207                 [Test]
208                 public void ReplaceTest_088 () { new testcase (@"a\3b", @"\\(\d+)", @"\5", @"a\5b").Execute (); }
209                 [Test]
210                 public void ReplaceTest_089 () { new testcase (@"\3b", @"\\(\d+)", @"\5", @"\5b").Execute (); }
211                 [Test]
212                 public void ReplaceTest_090 () { new testcase (@"\\3b", @"(?<=\\)\\(\d)", @"\5", @"\\5b").Execute (); }
213                 [Test]
214                 public void ReplaceTest_091 () { new testcase (@"\\\3b", @"(?<=\\\\)\\(\d)", @"\5", @"\\\5b").Execute (); }
215                 [Test]
216                 public void ReplaceTest_092 () { new testcase (@"a\\\\3b", @"(?<=(\\){0,5})\\(\d)", @"\5", @"a\\\\5b").Execute (); }
217                 [Test]
218                 public void ReplaceTest_093 () { new testcase (@"\\\k<g>", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k<(\w)>", @"\5", @"\\\5").Execute (); }
219                 [Test]
220                 public void ReplaceTest_094 () { new testcase (@"a\\\k<g>", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k<(\w)>", @"\5", @"a\\\5").Execute (); }
221                 [Test]
222                 public void ReplaceTest_095 () { new testcase (@"\\\\k'g'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k'(\w)'", @"\5", @"\\\\k'g'").Execute (); }
223                 [Test]
224                 public void ReplaceTest_096 () { new testcase (@"a\\\\k'g'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k'(\w)'", @"\5", @"a\\\\k'g'").Execute (); }
225                 [Test]
226                 public void ReplaceTest_097 () { new testcase (@"\k'g'", @"(?<=(?:\A|[^\\])(?:[\\]{2}){0,1073741823})\\k'(\w)'", @"\5", @"\5").Execute (); }
227                 [Test]
228                 public void ReplaceTest_098 () { new testcase (@"\\(?<={1}", @"(\A|((\A|[^\\])([\\]{2})*\((\?([:>=!]|<([=!]|(\w+>))))?))\{\d+(,(\d+)?)?\}", @"\5", @"\5").Execute (); }
229                 [Test]
230                 public void ReplaceTest_099 () { new testcase (@"{1}", @"(\A|((\A|[^\\])([\\]{2})*\((\?([:>=!]|<([=!]|(\w+>))))?))\{\d+(,(\d+)?)?\}", @"r", @"r").Execute (); }
231                 [Test]
232                 public void ReplaceTest_100 () { new testcase (@"({1}", @"(\A|((\A|[^\\])([\\]{2})*\((\?([:>=!]|<([=!]|(\w+>))))?))\{\d+(,(\d+)?)?\}", @"r", @"r").Execute (); }
233                 [Test]
234                 public void ReplaceTest_101 () { new testcase (@"(?{1}", @"(\A|((\A|[^\\])([\\]{2})*\((\?([:>=!]|<([=!]|(\w+>))))?))\{\d+(,(\d+)?)?\}", @"r", @"(?{1}").Execute (); }
235                 [Test]
236                 public void ReplaceTest_102 () { new testcase (@"(?:{1}", @"(\A|((\A|[^\\])([\\]{2})*\((\?([:>=!]|<([=!]|(\w+>))))?))\{\d+(,(\d+)?)?\}", @"r", @"r").Execute (); }
237                 [Test] 
238                 public void ReplaceTest_103 () { new testcase (@"\({1}", @"(\A|((\A|[^\\])([\\]{2})*\((\?([:>=!]|<([=!]|(\w+>))))?))\{\d+(,(\d+)?)?\}", @"r", @"\({1}").Execute (); }
239         }
240 }