Same
Ошибка при использовании \n в RE
-
У меня есть файл с данными
Prefix_Local: ---- Prefix_Global: привет пока Prefix_Global_delimiter: ----Этот файл я читаю в переменную MESSAGES_PREFIX и мне нужно получить текст
привет покаПолучить я его должен используя
Prefix_Global:\n([\S\s]+?)\n\sТ.к. каким-то чудом \n в BAS работает только, если прогнать текст через функцию "Шаблон", расположенную в "Инструменты" и уже после прогнать полученную переменную через "Первое вхождение", то я так и делаю

И по идее всё должно работать, но... В "Шаблон" я указал не цельный текст, а переменную [[MESSAGES_PREFIX]]...
Если в "Шаблон" указать переменную, а не цельный текст, тогда "Первое вхождение" выдаст результат ""

И мне нужно понять, почему он получает в переменную A2 "", а непривет покаКак лично я понял, что если грузить в "Шаблон" переменную, то он получает такую-же переменную, как MESSAGES_PREFIX и \n также не работает в RE.
-
Хоть кто-то знает в чём проблема или другой способ получить желаемый результат, но при этом без "порнухи"?
-
@ftyhp said in Ошибка при использовании \n в RE:
Для лучшего понимания проблемы и того, что мне нужно
В "Шаблон" вписываю текст(Работает)
True.xmlВ вашем текстовом файле для переноса строки используется возврат каретки с переводом строки:
\r= CR (возврат каретки) → используется в качестве символа новой строки в Mac OS перед X
\n= LF (перевод строки) → используется в качестве нового символа строки в Unix/Mac OS X
\r\n= CR + LF → используется в качестве символа новой строки в Windows
Вашу регулярку можно немного изменить, что бы она работала и с возвратом каретки:
Prefix_Global:\r?\n([\S\s]+?)\r?\n\s
Тестовый скрипт: 1489.xml
В "Шаблон" вписываю переменную(получаю ""). Нужно указать путь к text.txt перед запуском!
False.xml
text.txtВы не сохранили проект прежде чем отправить его на форум, в результате на форум вы выгрузили пустой скрипт:

-
@ftyhp said in Ошибка при использовании \n в RE:
@Fox Благодарю. И использования шаблона не нужно с
Prefix_Global:\r?\n([\S\s]+?)\r?\n\sЕсли посмотрите код действия "шаблон", то увидите, что перенос строки он устанавливает без возврата каретки (только
\n). По этому ваша регулярка с ним работала.Изменённая мною регулярка будет работать с текстом и с возвратом каретки и без неё (и с
\r\nи с\n)