Pošto nema regex podforuma a programiram u .net-u postavit ću pitanje ovdje.
Ovo je string : 2x^3*3y^2-2x^2y-12xy+3x^3y^4+xy^2
Ja želim izvuči sve između + i - ( podjelit ovaj algebarski izraz na članove ( 2x^3*3y^2 2x^2y 3x^3y^4 xy^2 )). Problem je što na početku i na kraju stringa nema plusa ni minusa. Koristim lookahead and lookbehinde ovako ((?<=\-|\+|^).+?(?=\-|\+|$)). Problem je što kad koristim ^ za gledanje na početak javi mi grešku da lookbehinde mora imati fix width pattern. Ako napišem ovako ((?<=\-|\+).+?(?=\-|\+|$)) , ista stvar bez ^ ne izvuče mi prvi član.
Obasnit ći ovaj regex.
?<=\-|+|^ lookbehinde - ili + ili ^ (početak stringa, tu mi javi grešku )
.+? izvuči sve između ( nemoj biti pohlepan )
?=\-|\+|$ lookahead - ili + ili $ ( kraj, tu je sve ok, izvuče zadnji član )
Zašto ^ ne radi? Kako da izvučem prvi član a da ne kompliciram ovaj regex?