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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.