public override RegexParsingOptions GetOptions() { RegexParsingOptions options = new RegexParsingOptions(); ExpressionOption[] flags = new ExpressionOption[] { new ExpressionOption(getOptionFlag(RegexOptions.Compiled) ,"Compiled"), new ExpressionOption(getOptionFlag(RegexOptions.CultureInvariant) ,"CultureInvariant"), new ExpressionOption(getOptionFlag(RegexOptions.ExplicitCapture) ,"ExplicitCapture"), new ExpressionOption(getOptionFlag(RegexOptions.ECMAScript) ,"ECMAScript"), new ExpressionOption(getOptionFlag(RegexOptions.IgnoreCase) ,"IgnoreCase"), new ExpressionOption(getOptionFlag(RegexOptions.IgnorePatternWhitespace) ,"IgnorePatternWhitespace"), new ExpressionOption(getOptionFlag(RegexOptions.Multiline) ,"Multiline"), new ExpressionOption(getOptionFlag(RegexOptions.RightToLeft) ,"RightToLeft"), new ExpressionOption(getOptionFlag(RegexOptions.Singleline) ,"Singleline") }; options.AddRange(flags); return options; }
public override RegexParsingOptions GetOptions() { RegexParsingOptions options = new RegexParsingOptions(); ExpressionOption[] flags = new ExpressionOption[] { new ExpressionOption(getOptionFlag(RegexOptions.Compiled), "Compiled"), new ExpressionOption(getOptionFlag(RegexOptions.CultureInvariant), "CultureInvariant"), new ExpressionOption(getOptionFlag(RegexOptions.ExplicitCapture), "ExplicitCapture"), new ExpressionOption(getOptionFlag(RegexOptions.ECMAScript), "ECMAScript"), new ExpressionOption(getOptionFlag(RegexOptions.IgnoreCase), "IgnoreCase"), new ExpressionOption(getOptionFlag(RegexOptions.IgnorePatternWhitespace), "IgnorePatternWhitespace"), new ExpressionOption(getOptionFlag(RegexOptions.Multiline), "Multiline"), new ExpressionOption(getOptionFlag(RegexOptions.RightToLeft), "RightToLeft"), new ExpressionOption(getOptionFlag(RegexOptions.Singleline), "Singleline") }; options.AddRange(flags); return(options); }
private void setParsingOption(RegexParsingOptions options, RegexOptions flagToSet) { string parsingOptionName = Enum.GetName(typeof(RegexOptions), flagToSet); ExpressionOption option = options.GetByName(parsingOptionName); bool shouldBeSelected = option.Selected; bool isSelected = getOptionFlag(flagToSet); //for readability bool shouldNotBeSelected = !shouldBeSelected; bool isNotSelected = !isSelected; if (shouldBeSelected && isNotSelected) { DotNetRegexOptions |= flagToSet; return; } if (shouldNotBeSelected && isSelected) { DotNetRegexOptions ^= flagToSet; } }