* Bill McCarthy <[EMAIL PROTECTED]> writes:
> The filter found in The Bat! Library does not function as
> "advertised." The problem is in the export template. The following
> macro was tested with all 21 possible locations of multi-line
> In-Reply-To and References lines (since I don't know the official
> rules as to where these must be).
I didn't do that much tests, but I think you can shorten this QT a bit.
> --8<---------------cut here---------------start------------->8---
> %SetPattRegExp="(?ismx)
> (?:
> (?:
> (.*?) # SubPatt 1
1> (?:
1> ^In-Reply-To: | ^References:
1> )
1> .*?\n(?:\s.*?\n)*
X> (.*?) # SubPatt 2
2> (?:
2> ^In-Reply-To: | ^References:
2> )
2> .*?\n(?:\s.*?\n)*
X> (.*?) # SubPatt 3
> )
> |
> (?:
> (.*?) # SubPatt 4
3> (?:
3> ^In-Reply-To: | ^References:
3> )
3> .*?\n(?:\s.*?\n)*
X> (.*?) # SubPatt 5
> )
> |
X> (.*?) # SubPatt 6
> )
[...]
> --8<---------------cut here---------------end--------------->8---
There are three equal parts (1, 2, 3) that match an IRT or Refereces
header. Each followed by an "(.*?)" (X). You first check for the
existance of both headers, then for only 1 or none.
--8<---------------cut here---------------start------------->8---
%SetPattRegExp="(?ismx)
(?:
(?:
(.*?) # SubPatt 1
(?:
(?:
^In-Reply-To: | ^References:
)
.*?\n(?:\s.*?\n)*
(.*?) # SubPatt 2
){0,2} # <- !!!
)
)
\n+\z"%-
%RegExpBlindMatch="%Headers"%-
%SubPatt="1"%SubPatt="2"
In-Reply-To: %ClipBoard
%Text%-
--8<---------------cut here---------------end--------------->8---
Again, this is not fully tested, but I think it is just a shorter
version of your pattern. And I hope it works as good as yours.
> Please let me know if you see any improvements or problems I've
> overlooked.
I didn't see any problems (maybe the \n\n should be a \n+, but I
don't know). Actually I'm not even sure if this shorter version is
an improvement.
--
Carsten
________________________________________________________
http://www.silverstones.com/thebat/TBUDLInfo.html