Obrazowanie próbujesz dopasować wzór "stackoverflow".Jak określić "Spacja lub koniec ciągu" i "spacja lub początek łańcucha"?
Chcesz następujące:
this is stackoverflow and it rocks [MATCH]
stackoverflow is the best [MATCH]
i love stackoverflow [MATCH]
typostackoverflow rules [NO MATCH]
i love stackoverflowtypo [NO MATCH]
wiem, jak analizować na stackoverflow jeśli zawiera spacje po obu stronach przy użyciu:
/\s(statckoverflow)\s/
samo z jeśli jej na początku lub na końcu string:
/^(stackoverflow)\s/
/\s(stackoverflow)$/
Ale jak określić "spację lub koniec ciągu" i "spację lub początek struny"?
'\ b' jest asercją o zerowej szerokości; nigdy nie zużywa żadnych znaków. Nie ma potrzeby, aby zawinąć go w obejście. –
dobry punkt. Myślałem o jego oryginalnym '\ s'. Poprawię moją odpowiedź. –
Należy zauważyć, że w większości implementacji regexp '\ b' jest ** tylko standardowym ASCII **, to znaczy brak obsługi standardu Unicode. Jeśli chcesz dopasować słowa unicode, nie masz wyboru, ale użyj tego: http://stackoverflow.com/a/6713327/1329367 – Mahn