We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
(?:|xyz)
(?:xyz|)
(?:xyz)?
1 parent c36e173 commit f513faeCopy full SHA for f513fae
src/libre/ast_rewrite.c
@@ -317,6 +317,28 @@ rewrite_alt(struct ast_expr *n, enum re_flags flags)
317
return 1;
318
}
319
320
+ if (n->u.alt.count == 2) {
321
+ struct ast_expr *child = NULL;
322
+
323
+ if (n->u.alt.n[0]->type == AST_EXPR_EMPTY) {
324
+ ast_expr_free(n->u.alt.n[0]);
325
+ child = n->u.alt.n[1];
326
+ } else if (n->u.alt.n[1]->type == AST_EXPR_EMPTY) {
327
+ ast_expr_free(n->u.alt.n[1]);
328
+ child = n->u.alt.n[0];
329
+ }
330
331
+ if (child != NULL) {
332
+ /* we repurpose the same node */
333
+ n->type = AST_EXPR_REPEAT;
334
+ n->u.repeat.e = child;
335
+ n->u.repeat.min = 0;
336
+ n->u.repeat.max = 1;
337
338
+ return rewrite(n, flags);
339
340
341
342
343
344
empty:
0 commit comments