Имя: Пароль:
1C
1С v8
RegExp как перемахнуть через строки?
0 dwarfadelic
 
12.11.19
17:40
Функция БулевоДляComОбъектов(_знач_булево)
    Если _знач_булево Тогда         
        Возврат -1;
    КонецЕсли;
    Возврат _знач_булево;
КонецФункции

Функция РегулярноеВыражение_ПолучитьПо(СтрИсточник, Шаблон, Global = Истина, IgnoreCase = Истина, MultiLine = Ложь)
    RegExp = Новый COMОбъект("VBScript.RegExp");      
    //Поиск всех вхождений шаблона    
    RegExp.Global = БулевоДляComОбъектов(Global);                         
    //Игнорировать регистр символов      
    RegExp.IgnoreCase = БулевоДляComОбъектов(IgnoreCase);     
    //Многострочный режим    
    RegExp.MultiLine = БулевоДляComОбъектов(MultiLine);       
    RegExp.Pattern = Шаблон;
    Вхождения = RegExp.Execute(СтрИсточник);    
    Возврат Вхождения;
КонецФункции    

Процедура Получить_ТЛ(Документ,_Строка)        
    Вхождения = РегулярноеВыражение_ПолучитьПо(Документ.Примечание, "\*/ТЛ\s(.+)\*/",,,Истина);                 

КонецПроцедуры


Текст вида

*/ТЛ 4654
6544
465 */ 77
_43_44_55_48_

Не находит то что между */ и */
1 Лефмихалыч
 
12.11.19
17:45
\*\/ТЛ\s([\w|\s]*)\*\/
2 dwarfadelic
 
12.11.19
18:00
ага
3 Сияющий в темноте
 
12.11.19
18:51
в vbscript есть функция InStr,которая для данного поиска подойдет лучше,чем RegExp.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.