public RegexFC(char ch, bool not, bool nullable, bool caseInsensitive) { _cc = new RegexCharClass(); if (not) { if (ch > 0) { _cc.AddRange('\0', (char)(ch - 1)); } if (ch < 0xFFFF) { _cc.AddRange((char)(ch + 1), '\uFFFF'); } } else { _cc.AddRange(ch, ch); } CaseInsensitive = caseInsensitive; _nullable = nullable; }
private static MatchState CreateFinal(char utf16RangeFirst, char utf16RangeLast, char?utf16Range2First = null, char?utf16Range2Last = null) { var charClass = new RegexCharClass(); charClass.AddRange(utf16RangeFirst, utf16RangeLast); RegexCharClass charClass2 = null; if (utf16Range2First != null) { Debug.Assert(utf16Range2Last != null); charClass2 = new RegexCharClass(); charClass2.AddRange(utf16Range2First.Value, utf16Range2Last.Value); } return(new MatchState(charClass.ToStringClass(), charClass2?.ToStringClass(), (f, l) => null)); }
internal RegexFC(char ch, bool not, bool nullable, bool caseInsensitive) { _cc = new RegexCharClass(); if (not) { if (ch > 0) _cc.AddRange('\0', (char)(ch - 1)); if (ch < 0xFFFF) _cc.AddRange((char)(ch + 1), '\uFFFF'); } else { _cc.AddRange(ch, ch); } _caseInsensitive = caseInsensitive; _nullable = nullable; }