What regular expressions are allowed for Mailman topics?
Dear all,
I'm trying to implement Mailman topics through regular expressions. However I'm not sure, what expression types are supported. I was trying
- ^(OK|WARN|CRIT|UP|DOWN) ->
- ^(OK|WARN|CRIT|UP|DOWN) \-
to catch subject lines like "OK -> CRIT some text" and "UP -> DOWN some text" ecc. The regexpes above don't catch these mail, even though they should be perfectly ok according to several regular expression testers. Interestingly
- ^(OK|WARN|CRIT|UP|DOWN)
/does/ match, but I require the trailing " ->" to discern from other, very similar subjects.
I also didn't find any reference documentation regarding the supported regular expression syntax. Is there any?
Out Mailman version is 2.1.9
Cheers, Frank
On 5/12/22 10:45, Frank Thommen wrote:
Dear all,
I'm trying to implement Mailman topics through regular expressions. However I'm not sure, what expression types are supported. I was trying
* ^(OK|WARN|CRIT|UP|DOWN) -> * ^(OK|WARN|CRIT|UP|DOWN) \-
to catch subject lines like "OK -> CRIT some text" and "UP -> DOWN some text" ecc. The regexpes above don't catch these mail, even though they should be perfectly ok according to several regular expression testers. Interestingly
* ^(OK|WARN|CRIT|UP|DOWN)
/does/ match, but I require the trailing " ->" to discern from other, very similar subjects.
I'm not sure what the asterisks are, maybe bullets?
The regexp '^(OK|WARN|CRIT|UP|DOWN) ->' should match, e.g.
Subject: OK -> anything
I also didn't find any reference documentation regarding the supported regular expression syntax. Is there any?
https://docs.python.org/2.7/library/re.html
Out Mailman version is 2.1.9
Really? 2.1.9 is over 15 years old and 30 releases behind.
-- Mark Sapiro mark@msapiro.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro wrote:
On 5/12/22 10:45, Frank Thommen wrote:
Dear all, I'm trying to implement Mailman topics through regular expressions. However I'm not sure, what expression types are supported. I was trying
- ^(OK|WARN|CRIT|UP|DOWN) -> * ^(OK|WARN|CRIT|UP|DOWN) - to catch subject lines like "OK -> CRIT some text" and "UP -> DOWN some text" ecc. The regexpes above don't catch these mail, even though they should be perfectly ok according to several regular expression testers. Interestingly
- ^(OK|WARN|CRIT|UP|DOWN) /does/ match, but I require the trailing " ->" to discern from other, very similar subjects. I'm not sure what the asterisks are, maybe bullets?
Yep. The asterisks are the bullets of a bulleted list and /not/ part of the regexp. Sorry, if my formatting was unclear in that respect.
The regexp '^(OK|WARN|CRIT|UP|DOWN) ->' should match, e.g. Subject: OK -> anything
That's exactly what I want to achieve. But this doesn't seem to work, as these mails are /not/ added to the respective topic.
I also didn't find any reference documentation regarding the supported regular expression syntax. Is there any? https://docs.python.org/2.7/library/re.html
That's what I thought, but then why does '^(OK|WARN|CRIT|UP|DOWN) ->' not lead to an email with the respective topic but '^(OK|WARN|CRIT|UP|DOWN)' does?
Out Mailman version is 2.1.9 Really? 2.1.9 is over 15 years old and 30 releases behind.
Don't tell me :-). But we can't influence that. We are just consumers of this service
Cheers, Frank
On 5/14/22 09:58, frank.thommen@gmx.net wrote:
That's what I thought, but then why does '^(OK|WARN|CRIT|UP|DOWN) ->' not lead to an email with the respective topic but '^(OK|WARN|CRIT|UP|DOWN)' does?
I think this is an issue that was fixed in Mailman 2.1.19 by https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/revision/1516/Mailm...
Prior to that the regexps for topic matches were compiled in verbose mode. You indicated in your OP that the regexp for your topic was
^(OK|WARN|CRIT|UP|DOWN) ->
^(OK|WARN|CRIT|UP|DOWN) \-
Prior to Mailman 2.1.19, this was compiled in verbose mode. That worked if the lines were simply keywords, but if they were more complex regexps, this didn't work. The fix in 2.1.19 was to simply or
the lines which works more as expected.
In Mailman <2.1.19, that two line regexp compiled in verbose mode won't match, e.g., OK -> anything
. In fact it's simpler than that. Even the single line regexp ^(OK|WARN|CRIT|UP|DOWN) ->
compiled in verbose mode won't match because of the space, but ^(OK|WARN|CRIT|UP|DOWN)\ ->
will.
Thus, this is a bug in Mailman <2.1.19, but you can work around it by \
escaping the space or using \s
.
-- Mark Sapiro mark@msapiro.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (4)
-
Carl Zwanzig
-
Frank Thommen
-
frank.thommen@gmx.net
-
Mark Sapiro