Hej! Jag behöver plocka ut en bit av en sträng, typ så här:
111härkommer vadsomhelst!222
Där allt mellan 111 och 222 plockas ut. Helst med ett reguljärt uttryck.
Plocka ut bit av sträng
4 svar · 279 visningar · startad av nitro2k01
Ett "non-greedy" exempel;
str="111härkommer vadsomhelst!222";
newstr=(str.match(/111([\d\D]+?)222/))?RegExp.$1:null;
Alltså den tar den minsta matchningen av allt mellan 111 och 222, vill du ha den greedy plockar du bort frågetecknet i regexp-delen.
Vad är egentligen skillnaden mellan greedy och non-greedy?
I exemplet ovan gör det ingen skillnad, men skulle strängen se ut så här; "111härkommer vadsomhelst!222lite mer text222" så skulle ett greedy-uttryck plocka ut största möjliga match, dvs. "härkommer vadsomhelst!222lite mer text" medans ett non-greedy skulle plocka ut "härkommer vadsomhelst!".
Tack!