/// <summary> /// Indicates whether the specified wildcard pattern finds a match /// in the specified input string. /// </summary> /// <param name="input">The string to search for a match.</param> /// <param name="pattern">The wildcard pattern to match.</param> /// <param name="options">Options that alter the behavior of the matcher.</param> /// <returns> /// <c>true</c> if the regular expression finds a match; otherwise, /// <c>false</c>. /// </returns> public static unsafe bool IsMatch(string input, string pattern, ValueWildcardOptions options) { fixed(char *pInput = input) fixed(char *pPattern = pattern) { return(WildcardInterpreter.IsMatch(pInput, input.Length, pPattern, pattern.Length, options)); } }
internal static unsafe bool IsMatch( StringPart input, ReadOnlySpan <WildcardInstruction> instructions, ValueWildcardOptions options = default) { Span <Frame> state = instructions.Length > FrameStackAllocThreshold ? new Frame[instructions.Length] : stackalloc Frame[instructions.Length]; var interpreter = new WildcardInterpreter(instructions, state, input, options); return(interpreter.IsMatch()); }