Vous en aviez toujours rêvé, David M Phillips, un illustre inconnu, l'a fait : une classe permettant d'utiliser les expressions rationnelles1 (version améliorée) en LotusScript (pour Win32 uniquement).

L'idée est en vérité terriblement simple : puisque VBScript dispose depuis sa version 5.0 de l'objet RegExp, utilisons-le sous la forme d'un objet OLE. Et voilà.

Use "RegExp"

Sub Initialize
Dim re As New RegExp

Dim source As String
Dim result As Boolean
Dim result2 As String

re.Global = True

' vérification
source = |georges.abitbol@domain.co.uk|
result = re.Test(source, |^[\w-]+[\.\w]*@[\w]+[\.\w-]*\.[\w]{1,5}$|)
If (result) Then
Msgbox(source + ": Email valide")
Else
Msgbox(source + ": Email invalide")
End If

' remplacement
source = |<p onclick="javascript:print_time('11:56:56');"><a href="forums/profile.php?id=21">YoGi</a>pwet</p>|

result2 = re.replaces(source, |javascript:print_time\('(.*)'\)|, |document.getElementById('msgbox').message.value='$1 '|)

Msgbox(source + Chr(13) + Chr(13) + result2)
End Sub

La vie est désormais un peu plus belle.

1 : regular expressions, pour nos amis anglophones. Et si vous n'êtes pas vraiment à l'aise avec le sujet, voilà un petit rappel.