Pihrtsoft.Text.RegularExpressions.Linq.PatternBuilder.AppendOptions C# (CSharp) Method

AppendOptions() private method

Appends a pattern that applies and disables specified options to a specified pattern.
is null. or value is not convertible to inline chars.
private AppendOptions ( RegexOptions applyOptions, RegexOptions disableOptions, object content ) : void
applyOptions RegexOptions A bitwise combination of the enumeration values that are applied.
disableOptions RegexOptions A bitwise combination of the enumeration values that are disabled.
content object The pattern to match.
return void
        internal void AppendOptions(RegexOptions applyOptions, RegexOptions disableOptions, object content)
        {
            if (!RegexUtility.IsValidInlineOptions(applyOptions))
                throw new ArgumentException(ExceptionHelper.RegexOptionsNotConvertibleToInlineChars, nameof(applyOptions));

            if (!RegexUtility.IsValidInlineOptions(disableOptions))
                throw new ArgumentException(ExceptionHelper.RegexOptionsNotConvertibleToInlineChars, nameof(disableOptions));

            if (content == null)
                throw new ArgumentNullException(nameof(content));

            if (applyOptions != RegexOptions.None || disableOptions != RegexOptions.None)
            {
                AppendGroupStart();
                AppendOptionsChars(applyOptions, disableOptions);
                AppendDirect(':');

                if (_fBuilder)
                    _builder.AddInfo(SyntaxKind.GroupOptions);
            }
            else
            {
                AppendNoncapturingGroupStart();
            }

            AppendGroupContent(content, applyOptions, disableOptions);

            AppendGroupEnd();
        }

Same methods

PatternBuilder::AppendOptions ( RegexOptions applyOptions ) : void
PatternBuilder::AppendOptions ( RegexOptions applyOptions, RegexOptions disableOptions ) : void
PatternBuilder::AppendOptions ( RegexOptions applyOptions, object content ) : void

Usage Example

 internal override void AppendTo(PatternBuilder builder)
 {
     if (!string.IsNullOrEmpty(_text))
     {
         if (_ignoreCase)
             builder.AppendOptions(RegexOptions.IgnoreCase, _text);
         else
             builder.AppendOptions(RegexOptions.None, RegexOptions.IgnoreCase, _text);
     }
 }
All Usage Examples Of Pihrtsoft.Text.RegularExpressions.Linq.PatternBuilder::AppendOptions