On Tue, 7 Jul 2020, Martin Gregorie wrote:

On Tue, 2020-07-07 at 22:07 +0000, Pedro David Marco wrote:
Thanks Martin, but  the meta may be possitive if one URL triggers
SUBRULE1 and another different URL triggers SUBRULE2...
 how can you be sure both SUBRULES are possitive in the "same" URL?

I didn't spot the requirement that the URIs must match: I read your
requirement as being that two matches from a group of URLs within a
defined set or with the same second level domain would do. My mistake.

Might it be easier to define and implement with a decent RDBMS and a
clever SQL query?

Ugh, no.

The (?=...)(?!...) is a good way, but if you use * or + you need to be careful to avoid the possibility of a backtrack DOS - use the "non-greedy" version. However, that weakness is smaller as we're looking at URIs rather than the entire message body - there's less to potentially backtrack over.

I suggest the positive match first, then the negative match, as the positive match will probably occur in only a small percentage of URIs scanned and will thus generally fail and shortcircuit the evaluation of the (much more likely to hit) negative lookforward match.

--
 John Hardin KA7OHZ                    http://www.impsec.org/~jhardin/
 jhar...@impsec.org    FALaholic #11174     pgpk -a jhar...@impsec.org
 key: 0xB8732E79 -- 2D8C 34F4 6411 F507 136C  AF76 D822 E6E6 B873 2E79
-----------------------------------------------------------------------
  We have to realize that people who run the government can and do
  change. Our society and laws must assume that bad people -
  criminals even - will run the government, at least part of the
  time.                                               -- John Gilmore
-----------------------------------------------------------------------
 Today: Robert Heinlein's 113th birthday

Reply via email to