122 mmm 123 false 0 124 125 [a-]+ 126 za-9z 127 true a- 0 128 129 [a-\\u4444]+ 130 za-9z 131 true za 0 132 133 // Negated char class 134 [^abc]+ 135 ababab 136 false 0 137 138 [^abc]+ 139 aaabbbcccdefg 140 true defg 0 141 142 // Making sure a ^ not in first position matches literal ^ 143 [abc^b] 144 b 145 true b 0 146 147 [abc^b] 148 ^ 149 true ^ 0 150 151 // Class union and intersection 152 [abc[def]] 153 b 154 true b 0 155 156 [abc[def]] 157 e 158 true e 0 159 160 [a-d[0-9][m-p]] 161 a | 122 mmm 123 false 0 124 125 [a-]+ 126 za-9z 127 true a- 0 128 129 [a-\\u4444]+ 130 za-9z 131 true za 0 132 133 // Negated char class 134 [^abc]+ 135 ababab 136 false 0 137 138 [^abc]+ 139 aaabbbcccdefg 140 true defg 0 141 142 // Negation with nested char class and intersection 143 [^[c]] 144 c 145 false 0 146 147 [^[a-z]] 148 e 149 false 0 150 151 [^[a-z][A-Z]] 152 E 153 false 0 154 155 [^a-d[0-9][m-p]] 156 e 157 true e 0 158 159 [^a-d[0-9][m-p]] 160 8 161 false 0 162 163 [^[a-c]&&[d-f]] 164 z 165 true z 0 166 167 [^a-c&&d-f] 168 a 169 true a 0 170 171 [^a-m&&m-z] 172 m 173 false 0 174 175 [^a-m&&m-z&&a-c] 176 m 177 true m 0 178 179 [^a-cd-f&&[d-f]] 180 c 181 true c 0 182 183 [^[a-c][d-f]&&abc] 184 a 185 false 0 186 187 [^[a-c][d-f]&&abc] 188 d 189 true d 0 190 191 [^[a-c][d-f]&&abc[def]] 192 a 193 false 0 194 195 [^[a-c][d-f]&&abc[def]] 196 e 197 false 0 198 199 [^[a-c]&&[b-d]&&[c-e]] 200 a 201 true a 0 202 203 [^[a-c]&&[b-d]&&[c-e]] 204 c 205 false 0 206 207 // Making sure a ^ not in first position matches literal ^ 208 [abc^b] 209 b 210 true b 0 211 212 [abc^b] 213 ^ 214 true ^ 0 215 216 // Class union and intersection 217 [abc[def]] 218 b 219 true b 0 220 221 [abc[def]] 222 e 223 true e 0 224 225 [a-d[0-9][m-p]] 226 a |