[/14] Post hier je handige RegEx

Pagina: 1
Acties:

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Topicstarter
Volgens mij is het (zo lang de codebase nog niet bestaat ;)) wel handig voor verschillende mensen om hier wat handige regular expressions (of verbeteringen daarop) te posten.

Dus ik zal zelf de kick-off maar geven met een simpele (ben zelf niet zo'n held in regex)

Email check:
code:
1
/[0-9a-zA-Z.-]+\@[0-9a-zA-Z.-]+\.[a-z|A-Z]+/i

zal wel niet optimaal zijn, dus post je verbetering maar :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Grum
  • Registratie: Juni 2001
  • Niet online
ip check
code:
1
!^(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}$!

  • [ti]
  • Registratie: Februari 2000
  • Niet online
uh. spelvaut verbeteraar

s/spelvaut/spelfout/

(ofzo, ik snap nix van regexpen ;) )

Verwijderd

email check
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
  function CheckEmail($email) {

  if (eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,3}$", $email,
                               $arr_vars) &amp;&amp;
                               !eregi("(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)", $email, $arr_vars)){
                               return true;
                               }
                               else {
                               return false;
                             }
                          }
?>

hoe te gebruiken:
PHP:
1
2
3
4
5
6
7
8
9
10
<?
$emailadres= "aap@devnull.xxx";
if (!CheckEmail($emailadres)){
  echo "fout";
  # doet iets
} else {
  echo "goed";
  # doet iets
}
?>

  • Grum
  • Registratie: Juni 2001
  • Niet online
ermmmmmmmmmmmmmmmmmmmmmmm

ik probeer net wat te posten en dan krijg ik een error 'Hacker?' ... wtf ? :)

maarja .. me post :P
mogen nu ook emails als
1/ "Ik zit nu thuis op me werk"@wanadont.nl
2/ ikben-nahetstreepje@wanadont.nl
3/ brul.aap@a.b.com
4/ ikben+comment@abc.com
5/ appelflapje@localhost
6/ yeah@de.eerste.info

? :P

Verwijderd

Op woensdag 03 oktober 2001 17:09 schreef Grum_ het volgende:
ermmmmmmmmmmmmmmmmmmmmmmm

ik probeer net wat te posten en dan krijg ik een error 'Hacker?' ... wtf ? :)

maarja .. me post :P
[..]
1/ "Ik zit nu thuis op me werk"@wanadont.nl
nee
2/ ikben-nahetstreepje@wanadont.nl
ja
3/ brul.aap@a.b.com
ja
4/ ikben+comment@abc.com
nee
5/ appelflapje@localhost
nee
6/ yeah@de.eerste.info
nee

  • Grum
  • Registratie: Juni 2001
  • Niet online
nog erger zelfs ... ----@----.nu mag :)

ps ... nooit van character grouping gehoord ofzo ? :P

([a-z]|[0-9]) == [a-z0-9] :P

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Topicstarter
euhh, dan heb je het niet over die van mij, dacht ik :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Hier is er eentje om IRC server messages te parsen (met escaped backslahes):
code:
1
2
3
4
                             /*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯parameters¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\
            /¯¯¯¯¯¯command¯¯¯¯¯¯¯¯\|/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯parameters¯type¯a¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯parameters¯type¯b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\|
  /¯¯¯¯prefix¯¯¯¯\|/typ1\ /    typ2    \|||/¯¯¯¯¯¯¯normal¯parameters¯¯¯¯¯¯¯¯\/¯¯spec.¯param¯¯¯\| |/¯¯¯¯¯¯¯¯normal¯parameters¯¯¯¯¯¯¯¯\/¯¯¯spec.¯param¯¯¯\||*/
"((:[^\\r\\n ]+ )?([A-Z]+|[[:digit:]]{3})((( [^\\r\\n :][^\\n\\r\\0 ]*){0,13}( :[^\\0\\n\\r]*)?)|(( [^\\n\\r\\0 :][^\\n\\r\\0 ]*){14}( :?[^\\0\\n\\r]*)?)))?\\r\\n"

En hier is er eentje om URL's te validaten en er wat stuff uit te extracten:
code:
1
2
    //  host         port        path    search
"http://([^:/]+)(?::([[:digit:]]*))?(?:/([^?]+)(?:\\?(.+))?)?"

Zie de RFC's voor meer info.

  • Grum
  • Registratie: Juni 2001
  • Niet online
protocol://user:pass@host:port/path/to/file.ext ? :P

Verwijderd

Grum_: Het is geen complete RFC implementatie, maar alleen wat ik nodig had voor een bepaalde applicatie.

Verwijderd

code:
1
$threads =~ s/(Gepost door) (ACM|mbraveboer|wasigh|dusty|chem)/$1 die slimme Zef :P/g;

:P
Pagina: 1