Пытаюсь получить подстроку в элементе скрипт таск с помощью регулярных выражений
Из текста
some text: [ word1, word2, word3 ]
нужно получить то, что между квадратных скобок.
Чтоб понять как работает эксперементирую на таком коде:
string message = "My[LongString:Strin]gIWant"; string pattern ="[(.*?)]"; Match result = Regex.Match(message, pattern); string result1 = result.Value; Set("text", result1);
Возвращается пустота.
Проверяю работу тут
https://repl.it/join/ysjutqul-testbpm
string message = "Диалогу п[рисвое накат]егори"; string pattern = "\\[(.*?)\\]"; //string pattern = "\\[.*\\$]"; Match result = Regex.Match(message, pattern); Console.WriteLine(result);
результат корректный
В чём ошибка?
Нравится
1 комментарий
16 ноября 2020 16:09
Олег, у Вас в первом и втором примере разное регулярное выражение. Квадратные скобки тоже являются спецсимволом и для поиска по ним в выражении нужно их экранировать, что и было сделано во втором примере. Из строки «My[LongString:Strin]gIWant» он находит «[LongString:Strin]». Или в чём вопрос?
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать