|
| Regular Expressions Fra : Brian Ipsen |
Dato : 17-10-01 21:47 |
|
Hej!
Jeg har en RegEx der ser sådan her ud:
#define REGEX "^Received:
from.*\\(([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})\\)"
Hvorfor matcher den ikke med strengen:
Received: from cmintsexuni04.cibcmortgages.com ([207.245.249.4])
På grund af noget med de firkantede paranteser i min input-streng ?
Det er et håbløst forsøg på at få compilet qrblcheck til at sortere
SPAM/UCE fra....
/Brian
| |
Claus Rasmussen (17-10-2001)
| Kommentar Fra : Claus Rasmussen |
Dato : 17-10-01 22:32 |
|
Brian Ipsen wrote:
> Jeg har en RegEx der ser sådan her ud:
>
> #define REGEX "^Received:
> from.*\\(([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})\\)"
>
> Hvorfor matcher den ikke med strengen:
>
> Received: from cmintsexuni04.cibcmortgages.com ([207.245.249.4])
Du bruger escape ("\") forkert. Tegnene "()[]." har speciel betydning
med mindre de bliver escapet. Dvs. "(abc)" betyder "abc" mens "\(abc\)"
betyder "(abc)".
Prøv i stedet:
from.*\(\[([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\]\)
Hvis du kan bruge perl re's er flg. noget simplere:
from.*\(\[(\d+\.\d+\.\d+\.\d+)\]\)
Eller:
from.*\(\[([0-9\.]+)\]\)
Eller bare:
from.*\(\[(.*)\]\)
Der er ikke så megen grund til at tælle ({1,3}) antal cifre i hver
gruppe i ip-adressen medmindre der er risiko for, at fange noget,
der ikke er en ip-adresse.
-Claus
| |
Brian Ipsen (17-10-2001)
| Kommentar Fra : Brian Ipsen |
Dato : 17-10-01 23:08 |
|
On Wed, 17 Oct 2001 22:47:24 +0200, Brian Ipsen <Spammers@blow.me>
wrote:
> Jeg har en RegEx der ser sådan her ud:
>
>#define REGEX "^Received:
>from.*\\(([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})\\)"
>
>Hvorfor matcher den ikke med strengen:
>
>Received: from cmintsexuni04.cibcmortgages.com ([207.245.249.4])
>
>På grund af noget med de firkantede paranteser i min input-streng ?
Fandt delvis årsag/løsning - min streng skal afsluttes med et
mellemrum for at den kan finde ud af det... Næste problem er, at det
match jeg får tilbage ikke er selve IP adressen, men hele stykket fra
"Received... " til "...4])" - findes der så en nem måde at hive IP
adressen ud på ??
/Brian
| |
|
|