Вопрос

Получение подстроки в элементе ScriptTask

Пытаюсь получить подстроку в элементе скрипт таск с помощью регулярных выражений

Из текста

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 комментарий

Олег, у Вас в первом и втором примере разное регулярное выражение. Квадратные скобки тоже являются спецсимволом и для поиска по ним в выражении нужно их экранировать, что и было сделано во втором примере. Из строки «My[LongString:Strin]gIWant» он находит «[LongString:Strin]». Или в чём вопрос?

 

Показать все комментарии