Pchp.Library.PerlRegex.RegexParser.TrimPcreRegexOption C# (CSharp) Метод

TrimPcreRegexOption() приватный статический Метод

Trims PCRE options and gets new pattern end. The remaining string is the pattern enclosed in PCRE delimiters.
private static TrimPcreRegexOption ( string pattern, int &end ) : PerlRegexOptions
pattern string Input pattern.
end int New pattern length.
Результат PerlRegexOptions
        private static PerlRegexOptions TrimPcreRegexOption(string pattern, out int end)
        {
            // letters on right are PCRE options,
            // parse them and return new pattern end.

            // The remaining string is enclosed in delimiters.

            Debug.Assert(pattern != null);
            end = pattern.Length;

            PerlRegexOptions result = PerlRegexOptions.None;

            for (int i = pattern.Length - 1; i >= 0; i--)
            {
                var ch = pattern[i];
                if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))
                {
                    result |= ParsePcreRegexOption(ch);
                }
                else
                {
                    // reached a delimiter
                    end = i + 1;
                    return result;
                }
            }

            // invalid regex, we didn't reach a delimiter
            return PerlRegexOptions.None;
        }