public PositionalSubString(SubString value, int leftMin, int leftMax, int rightMin, int rightMax) { LeftMin = leftMin; LeftMax = leftMax; RightMin = rightMin; RightMax = rightMax; Value = value; }
public static PositionalSubString ToPositional(this SubString value, int leftMin = 0, int leftMax = int.MaxValue, int rightMin = 0, int rightMax = int.MaxValue) => new PositionalSubString(value, leftMin, leftMax, rightMin, rightMax);
public static SubString ToSubString(this SubString str) => str;