regexp multiline replace не ловит маску с точкой
От: ban_dba  
Дата: 25.10.04 10:28
Оценка:
Привет всем!
Есть такая задача — выкусть из кода скрипт, обрамленный двойными скобками.
Все работает, но на точку (MyObject.MySub) реагирует. Как ее обойти? Может у кого есть более универсальный паттерн для таких задач?
'VBScript 5.6
Dim RE, str 
Set RE = New RegExp
RE.Global = True
RE.IgnoreCase = True
RE.Multiline = True
RE.Pattern = "(^\s*'\s*{{\s*$^)([^.[^\{{2}\}{2}]*$]*)(\s*'\s*}}\s*$)"
str = _
 "Sub Form_OnLoad" & vbCrLf &_
 "'{{" & vbCrLf &_
 "Call MyObject.MySub" & vbCrLf &_
 "DoEvent" & vbCrLf &_
 "'}}" & vbCrLf &_
 "End Sub" & vbCrLf
If RE.Test(str) Then
 str =  RE.Replace(str, "") 
 MsgBox str
End If
Re: regexp multiline replace не ловит маску с точкой
От: migel  
Дата: 28.10.04 15:36
Оценка:
Здравствуйте, ban_dba, Вы писали:

_>Привет всем!

_>Есть такая задача — выкусть из кода скрипт, обрамленный двойными скобками.
_>Все работает, но на точку (MyObject.MySub) реагирует. Как ее обойти? Может у кого есть более универсальный паттерн для таких задач?
А если так?
.*\{{2}(?<body>.[^\}]*\n)*\}{2}
... << RSDN@Home 1.1.4 beta 3 rev. 214>>
Re[2]: regexp multiline replace не ловит маску с точкой
От: migel  
Дата: 28.10.04 20:16
Оценка:
Здравствуйте, migel, Вы писали:
M>А если так?
M>
M>.*\{{2}(?<body>.[^\}]*\n)*\}{2}
M>

Оопс именованый блок в принципе не нужен
... << RSDN@Home 1.1.4 beta 3 rev. 190>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.