Avatar billede morw Nybegynder
12. november 2001 - 22:34 Der er 6 kommentarer og
1 løsning

preg med min & max

Kan ikke rigtig få denne til at virke:

<?
$streng =\'TestNavn åæø-35\';
if (preg_match(\"/[-a-z.0-9\\s]+/i\", $streng)) {
// matcher
print \'ok\';
} else {
print \'nej\';
}
?>

Jeg vil tillade mellem 3 og 5 tegn og har forsøgt med {3,5} altså:

if (preg_match(\"/[-a-z.0-9\\s]{3,5}+/i\", $streng)) {

Så får jeg dog denne fejl: Compilation failed: nothing to repeat at offset
17

Jeg forstår heller ikke hvorfor den egentlig matcher åæø, når jeg kun har
skrevet a-z?

Nogen der lige kan forklare?
Avatar billede erikjacobsen Ekspert
12. november 2001 - 22:46 #1
drop +
Avatar billede erikjacobsen Ekspert
12. november 2001 - 22:47 #2
Og skriv \\. for punktum. Et . matcher alle tegn
Avatar billede jespernaur Nybegynder
12. november 2001 - 22:52 #3
Med {3,5} har du explicit tilladt tre til fem forekomster af
et medlem af tegnklassen [-a-z.0-9\\s]. Det er derfor meningsløst at skrive +,
hvilket er hvad den klager over.

Du har heller ikke begrænset matchen ved at tvinge den til
at indeholde hele strengen. Prøv følgende:

if (preg_match(\"/^[-a-z.0-9\\s]{3,5}$/i\", $streng)) {
Avatar billede morw Nybegynder
13. november 2001 - 00:31 #4
Takker, så blev jeg klogere igen i dag.

Jeg er nu endt op med denne:

preg_match(\"/^[a-z0-9æøå\\-\\.\\s]{3,20}$/i\", $streng)

Er der enighed om at både - og . skal ecapes?

Hvis jeg nu bruge \\w Words - hvad for tegn er det egentlig perl style ereg indbefatter i det?
Avatar billede erikjacobsen Ekspert
13. november 2001 - 06:06 #5
Hvis dit \"-\" ikke står først skal der \"\\\" foran.

Har du sat din locale til dansk, burde \"\\w\" tage æ, ø og å med.
Avatar billede morw Nybegynder
13. november 2001 - 10:37 #6
erikjacobsen> ok - smider du ikke lige et svar hvis du skal have del af pointkagen?
Avatar billede morw Nybegynder
13. december 2001 - 08:31 #7
Du har den 2001-11-12 22:34:57 oprettet spørgsmålet:
[ preg med min & max ]

Spørgsmålet er blevet besvaret og du ville gøre mange
glade hvis du ville enten afvise eller acceptere svaret:
http://eksperten.dk/spm/133060
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester