Hello, Rydel.
I do not think there is a magic pattern to meet the requirement for the case of having a fixed two-side outer strings (here <blockquote> and </blockquote>). Not that I can perceive the moment upon looking at your posted problem.
The script below is the way I would do to resolve this type of problem.
A note in this particular context. The <blockquote> </blockquote> can be nested. The script will not resolve it and it is not desirable to resolve it without a reason.
To help you test out the script. You make a testdoc.htm or whatever and if it is not in the same folder as the script, supply the full path.
Try it out and see how you like it.
regards - tsuji
'--------------------
twoside_regexp.vbs-----/tsuji/----------------
Option Explicit
Const tfile = "testdoc.html" '
<<<input testing file here
Const sB = "<blockquote>"
Const eB = "<\/blockquote>"
'-------------------------reading text stream------------------
Dim fso,tf, sBase
Set fso = CreateObject("Scripting.FileSystemObject"
Set tf = fs

penTextFile(tfile,1)
sBase = tf.Readall
WScript.Echo sBase
tf.close
Set tf = Nothing
Set fso = Nothing
'-------------------------reading text stream ended------------
'------------------------regexp operation----------------------
Const attachM = ".*\n.*"
Const midM = ".*"
Const delimiter = "<>"
Const sRpl = "--"
Dim startM, endM, sMTake, MCount, i
startM = sB & midM
endM = midM & eB
sMTake = ""
i = -1
Do While InStr(sBase, sB) <> 0
i=i+1
Call regexp_matches(startM, endM, i, sBase, sMTake)
Loop
sMTake=Left(sMTake,InStrRev(sMTake,delimiter)-1)
sMTake=Split(sMTake,delimiter)
'-----regexp operation ended : Result stored in sMTake array------
'-----display Matched Results only----------------------------------
MCount = UBound(sMTake)+1
For i = 0 To MCount-1
WScript.Echo "Match(" & cstr(i) & "

:- " & vbCrLf & sMTake(i)
Next
'--------------------------------------------------------------------
WScript.Quit
Sub regexp_matches(sM, eM, iter, strBase, strMTake)
Dim Matches, Match, i, strMatch
strMatch = ""
For i = 1 To iter
strMatch = strMatch & attachM
Next
strMatch = sM & strMatch & eM
Dim oBN
Set oBN = New RegExp
With oBN
.Global = True
.IgnoreCase = True
.Pattern = strMatch
End With
Set Matches = oBN.Execute(strBase)
If Matches.Count <>0 Then
For Each Match In Matches
strMTake = strMTake & Match & delimiter
strBase = oBN.Replace(strBase, sRpl)
Next
Set Matches = Nothing
End If
End Sub
'-------------end----
twoside_regexp.vbs-----/tsuji/----------------