[cl-ppcre-devel] Buffered multi-line question

Edi Weitz edi at agharta.de
Mon Oct 11 17:32:09 UTC 2004


Hi Sébastien!

On Mon, 11 Oct 2004 18:52:56 +0200, Sébastien Saint-Sevin <seb-cl-mailist at matchix.com> wrote:

> I'm doing multi-lines regex searches over big files that can't be
> converted to single string.  So I introduced a kind of buffer that
> I'm using to search.
>
> Now, I need to add a constraint to scan, do-scans & others (in
> addition to (&key start end)) : I want to be able to specify to the
> engine that a scan must start before a certain index in the string
> (to avoid searching further results that will be cancelled later
> because of my buffered multi-line matching process).
>
> Logically, this :must-start-before value correspond to the first
> line of my buffer. If nothing starts at first line, I need to move
> the search one line forward, so everything that the engine would
> match later on in the string is wasted time.
>
> How can I do it ?

Have you considered using something like

  (?s:(?=.{n}))<actual-regular-expression>

where n obviously is an integer computed from your constraints above?
I don't know how this'll behave performance-wise but you could just
try it... :)

Or have I misunderstood your question? Actually, I'm not sure why the
END keyword parameter doesn't suffice. Can you give an example?

> PS: Edi, if you are back, my previous post is still an open question
> ;-) (the one with FILTER...)

Yes, I'm back but unfortunately I'm very busy with commercial stuff
right now. Sorry, filters will have to wait some more.

Cheers,
Edi.





More information about the Cl-ppcre-devel mailing list