Das wirft aber auch Postings raus die im Betreff irgendwo das Teilwort
test haben, oder? Ich würde mindestens \<test\> oder vielleicht
besser ^test$ vorschlagen. Ich persönlich nutzte ^[tT][eE][sS][tT]$ (hat
mir mal jemand empfohlen) ein \C davor müsste es aber auch tun.
Hängt es eigentlich von der verwendeten slang Version ab ob \c oder \C
default ist? Kann man die erstellen Regeln eigentlich irgendwie testen?
Vielleicht könnte man die FAQ noch um ein paar nützliche Regeln
ergänzen? Ich kenne z.B. noch
Subject: .* \d+$
und
~From: [ ]+[^ ]+[ ]+
Lässt sich sicher aber leicht toppen.
Mfg
Thorsten
--
> Ein vernünftig installiertes NT-System mit NTFS lässt sich auch nicht
> durch unbedarfte DAU-Aktionen kaputtmachen (...)
Stimmt. Da müssen Profis her. Ich habe etwa eine halbe Stunde gebraucht,
dann war es kaputt. Stefan Ring & Robin S. Socha
> Das wirft aber auch Postings raus die im Betreff irgendwo das Teilwort
> test haben, oder? Ich würde mindestens \<test\> oder vielleicht
> besser ^test$ vorschlagen. Ich persönlich nutzte ^[tT][eE][sS][tT]$ (hat
> mir mal jemand empfohlen) ein \C davor müsste es aber auch tun.
Ja, ist natürlich besser. Schreib' doch das und Deine anderen
Vorschläge hübsch in Englisch auf und schick es mir. Ich überarbeite
im Moment [1] die FAQs und bei der Gelegenheit könnte ich es gleich
mit aufnehmen. Ein Zwischenergebnis kannst Du Dir per anonCVS laden,
damit Du weißt, wo es am besten paßt.
Apropos: Hey Jens, lebst Du auch noch?
bye,
Matthias
[1] Schon eine Weile, bin etwas im Streß.
Wäre aber durchaus nützlich zu wissen ob nun per default zwischen
Groß/Kleinschreibung unterschieden wird oder nicht. Mein slrn scheint
per default nicht zu unterscheiden, die slrn Doku verweist aber auf
<http://space.mit.edu/~davis/slang/doc/html/slang-18.html> und dort
heißt es: "\c turn on case-sensitivity (default)". Oder versteh ich
da jetzt was flasch?
Nicht schlecht wäre auch wenn ich die Ausdrücke irgendwie gegen
Strings testen könnte.
Kann mir eigentlich mal jemand
~From: [ ]+[^ ]+[ ]+
erklären? Mindestens ein Leerzeichen gefolgt von mindestens einem
Nichtleerzeichen gefolgt von mindestens einem Leerzeichen? Wieso
filtert das auf Realnamen?
Warum nicht eher sowas:
~From: .*\c[A-Z]\c[a-z]+.*[ ].*\c[A-Z]\c[a-z]+.*
Irgendwas, Großbuchstabe, Kleinbuchstaben, irgendwo ein Leerzeichen,
Großbuchstabe, Kleinbuchstaben und irgendwas?
Wenn noch jemand eine tolle Filterregel kennt nur zu.
> bye,
> Matthias
Score:: =-10000
X-Newsreader: Outlook
X-Newsreader: Microsoft
S"CNR"ebastian
--
Dieser Artikel ging an folgende Newsgroups: de.comm.software.newsreader
Er wurde am Mittwoch, dem 31. Oktober im Jahre des Herrn 2001 verfaßt.
> Wäre aber durchaus nützlich zu wissen ob nun per default zwischen
> Groß/Kleinschreibung unterschieden wird oder nicht.
AFAIK wird normalerweise nicht zwischen Groß- und Kleinschreibung
unterschieden.
> Nicht schlecht wäre auch wenn ich die Ausdrücke irgendwie gegen
> Strings testen könnte.
Was meinst du damit?
> Kann mir eigentlich mal jemand
> ~From: [ ]+[^ ]+[ ]+
> erklären? Mindestens ein Leerzeichen gefolgt von mindestens einem
> Nichtleerzeichen gefolgt von mindestens einem Leerzeichen? Wieso
> filtert das auf Realnamen?
Ganz einfach, egal ob es eine "From:"-Zeile im Format
From: foo...@example.com (Foo Bar)
oder
From: Foo Bar <foo...@example.com>
ist, sobald der "Realname"-Teil nur aus einem Wort besteht, gibt es
keine zwei Leerzeichen mehr in der "From:"-Zeile. Nicht erschlagen
werden dadurch natürlich Konstruktionen wie
From: G. Meier <me...@example.com>
wohl aber
From: G.Meier <me...@example.com>
Jens
--
Alle Wege führen an Redmond vorbei.
Per Default unterscheidet der slrn nicht.
> Mein slrn scheint per default nicht zu unterscheiden, die slrn Doku
> verweist aber auf
> <http://space.mit.edu/~davis/slang/doc/html/slang-18.html> und dort
> heißt es: "\c turn on case-sensitivity (default)". Oder versteh ich
> da jetzt was flasch?
Wenn Du in Deinem regulären Ausdruck irgendwo ein "\c" stehen hast,
dann wird ab diesem Punkt bis zum Ende des Ausdrucks (oder bis zum
nächsten "\C") zwischen Groß- und Kleinschreibung unterschieden.
Beispiel: Regexp String Match
a A ja
A A ja
\ca A nein
> Nicht schlecht wäre auch wenn ich die Ausdrücke irgendwie gegen
> Strings testen könnte.
#v+
$ cat slmatch.c
#include <stdio.h>
#include <string.h>
#include <slang.h>
#define BUF_SIZE 256
int main(int argc, char *argv[])
{
unsigned char buf[BUF_SIZE];
SLRegexp_Type regex;
unsigned char *bp;
if ( argc != 3 ) {
fprintf(stderr, "slmatch: Usage: slmatch pattern string\n");
exit(2);
}
regex.pat = (unsigned char *)argv[1];
regex.buf = buf;
regex.buf_len = BUF_SIZE;
regex.case_sensitive = 0;
SLang_regexp_compile(®ex);
bp = SLang_regexp_match( (unsigned char *)argv[2], strlen(argv[2]),
®ex);
if ( bp == NULL ) {
printf("no match\n");
exit(1);
}
printf("match: %s\n", bp);
return 0;
}
$ cc -o slmatch slmatch.c -lslang
#v-
Dokumentiert ist wie üblich nichts davon. Sollte aber funktionieren.
bye,
Matthias
In slang ist also \c default und in slrn \C.
>> Nicht schlecht wäre auch wenn ich die Ausdrücke irgendwie gegen
>> Strings testen könnte.
> $ cat slmatch.c
Sehr praktisch, danke! Findet sich das auch auf der slrn Seite oder in
einer der nächsten slrn Versionen? Hilft bestimmt noch mehr Leuten,
oder?
> Dokumentiert ist wie üblich nichts davon. Sollte aber funktionieren.
Sehe ich es eigentlich richtig dass
Subject: slrn
"[slrn] ..." nicht erwischt? Wenn ja wieso nicht?
Fast. In slang kann man es sich als Programmierer aussuchen, was man
als Standard setzt.
[ slmatch.c ]
> Sehr praktisch, danke! Findet sich das auch auf der slrn Seite oder in
> einer der nächsten slrn Versionen?
Nein. Eigentlich war es nur ein 5-Minuten-Hack. Aber, wenn's noch
jemanden interessiert, dann kann ich ja ein paar Zeilen dazu schreiben
und es auf meine Homepage stellen.
>> Dokumentiert ist wie üblich nichts davon. Sollte aber funktionieren.
> Sehe ich es eigentlich richtig dass
> Subject: slrn
> "[slrn] ..." nicht erwischt? Wenn ja wieso nicht?
Seltsam. Kann es sein, daß Du da etwas mit Zeichenklassen ('[]')
oder vielleicht den Shell-Quotingmechanismen durcheinander gekommen
bist? Hier funktioniert es ordnungsgemäß:
$ ./slmatch slrn '[slrn]'
match: slrn]
$ ./slmatch '\[slrn\]' 'Scoring in slrn'
no match
$ ./slmatch '\[slrn\]' '[slrn] Scoring'
match: [slrn] Scoring
$ ./slmatch '\[slrn\]' 'Scoring with [slrn]'
match: [slrn]
$ ./slmatch '^\[slrn\]' 'Scoring with [slrn]'
no match
$ ./slmatch '^\[slrn\]' '[slrn] Scoring'
match: [slrn] Scoring
$
bye,
Matthias
Ich verwende dazu einfach das Programm rgrep, das dem Editor jed
beiliegt und ebenfalls mit S-Lang RegExps arbeitet:
#v+
tststs@starflower:~ > echo '[slrn] Test' | rgrep -i slrn
[slrn] Test
#v-
Also matched (um auch gleich deine andere Frage zu beantworten) "slrn"
durchaus auf "[slrn] ...".
Wie gesagt ist es eine Besonderheit im slrn, dass die RegExps
normalerweise case insensitive ausgewertet werden; das ahme ich in
obiger Zeile durch die Option -i nach.
--
Thomas Schultz <tst...@gmx.de> * Recent news from http://slrn.sourceforge.net/
-> [2001-09-20] slrn is going international
-> [2001-08-20] slrn 0.9.7.2 released
-> [2001-08-11] slrn-announce mailing list created / wishlist reviewed
Irgendwie bin ich mal zur Überzeugung gelangt dass ich zu jeder
Subject Scorezeile die mich auch in [] noch interessiert zusätzlich
einen [] Eintrag brauche. Ganz glauben konnte ich das selbst nie aber
sicher ist sicher und so hab ich das beibehalten. Ohne Deinen 5
Minuten Hack hätte ich das werweißwie lange noch so gemacht. Arg!
> bye,
> Matthias
Ich geh jetzt erst mal mein Scorefile aufräumen