public RegexNode(Expression expression) { Exp = expression; }
//匿名 public CaptureExpression(Expression sub) { Name = null; Sub = sub; }
public AlternativeExpression(Expression left, Expression right) { Left = left; Right = right; }
public CaptureExpression(string name, Expression sub) { Name = name; Sub = sub; }
public SequenceExpression(Expression left,Expression right) { Left = left; Right = right; }
public PositiveExpression(Expression subExpression) { Matched = subExpression; }
public NegativeExpression(Expression subExpression) { Matched = subExpression; }
public LoopExpression(int min,int max,bool isGreedy,Expression looped = null) { Min = min; Max = max; IsGreedy = isGreedy; Looped = looped; }