Код:
string text = "aa hi hie";
Regex regex = new Regex("(hi)");
Match match = regex.Match(text, startIndex);
Проблема. При Match'e я хочу убедиться, что моя искомая подстрока начинается именно с указанного startIndex (например 3 в нашем примере) и никак иначе. Т.е. я хочу добиться такого же результата, когда мы используем "^" в шаблоне. Пока в голову приходило только делать Substring строки с указанного startIndex, а потом использовать шаблон:
Regex regex = new Regex("^(hi)");
Но такое решение меня не очень устраивает. Хотелось бы узнать альтернативные решения.
if (text.IndexOf("hi") == 3) { ... }
искомая подстрока начинается именно с указанного startIndex
int startIndex = 3;
string text = "aa hi hie";
string pattern = $"^.{{{startIndex}}}(hi)";
Regex regex = new Regex(pattern);
Match match = regex.Match(text);
Шаблон для поиска будет выглядеть следующим образом:
^.{3}(hi)
Совпадения строго с начала строки, потом три любых символа, потом желаемое совпадение.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости