Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Övrigt > Övrigt

Regular expression för att hitta ord med och utan bindesstreck

Hej.

Jag håller på att modifiera ett WP plugin som hämtar poster till statiska sidor.

Orginal-pluginet hämtar poster via post ID, men jag har modifierat det så den hämtar via post_name (slugen),
men märkte att den inte tog med ord som innehöll bindesstreck, vilket en slug i WP gör, om det är flera ord.

 

Så här ser orginal regexpo:n ut

/(?<=\\[\\[)\\d+?(?=\\]\\])/


Så här ser den modifierade regexpo:n ut

/(?<=\\[\\[)\\w+?(?=\\]\\])/

 

Som jag har förstått det, så betyder "w" word.

Detta funkar [[utbildning]], men detta gör det inte [[kort-om-mig]].
Räknas inte "kort-om-mig" som ett ord enligt "w"?

Hoppas någon kan hjälpa mig :)

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
Redigerades av chrillemeter den 10 februari 2010. Läs tidigare inlägg.
Redigerades av chrillemeter den 10 februari 2010. Läs tidigare inlägg.
ID: #19396 | Skapades: 2010-02-10 21:29:11 | Tråden har 2 svar och har lästs 193 gånger.

voigtan
voigtan

Gradering

#19397

\w => a-z, A-Z, 0-9 och _

så du vill ersätta \w med:

[\w\-]

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #19397 | Skapades: 2010-02-10 21:43:16

Tackar, nu funkar det. Pluspoäng till dig :)

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
ID: #19398 | Skapades: 2010-02-10 21:51:08
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy