Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

RegExp specialchars?

Hej Rowlere.

Jeg har problemer med noget RegExp der ser sådan her ud;

/^:ban ([a-zA-Z0-9]+)$/ Det virker, men hvordan gør jeg så jeg også kan bruge specielle tegn som punktum, / og + ?

Altså den vil give 0 (false) hvis jeg skriver :ban Olivernoerd!! men ikke hvis jeg skriver :ban Olivernoerd

- Oliver


** EDIT: Jeg bruger preg_match($RegExp, $str);
Sidst redigeret 12:28 03/05/2009
Oprettet af:

Regular Expressions

Point afsat: 20

Besvaret
12:26 03/05/2009
/^:ban ([a-zA-Z0-9./+]+)$/
Er slet ikke sikker, men prøv
Oprettet af:

Kommentar
22:08 03/05/2009
Virker ikke.
Oprettet af:

Kommentar
13:53 08/05/2009
Prøv at sætte \ foran de specielle tegn der skal tolkes bogstaveligt. Normalt escaper man med \ (fx \n som du måske kender)
Oprettet af:

Kommentar
22:53 24/11/2009
ved godt det er en gammel tråd, og problemet sikkert er løst men.
måden du kan løse den der på er ret simpel
  • /^:ban\s(([^\s\"]+|\"[^\"]+\"))$/
Det som den laver er:
Den starter med at lede efter en tekst streg der starter med ":ban " (\s) er mellemrum
hvis den finder det, går den igang med at lede efter næste del, nemlig brugernavnet. Jeg har lavet den sådan at du enten kan at skrive følgende:
  • :ban "User name"
Eller
  • :ban username
tænkte at de var de 2 mest sikre måder. Husk at den er case sensitive, så du skal være ret sikker på brugernavnet er skrevet korrekt.
Oprettet af:

Svar
23:00 28/11/2009
Kan jeg så godt skrive fx. :ban p0ptøzénìì; ?
Oprettet af:

Kommentar
23:08 28/11/2009
yes, du kan skrive alt bortset fra \s = Space og \" = ". og hvis du kommer "" om det brugernavn du ønsker at match kan du også bruge spaces =)
Oprettet af:

Kommentar
19:08 30/11/2009
Du skal være oprettet og logget ind for at svare på en tråd
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes