Regex og Algebra

Tags:    regex

Hej udviklere,


Jeg sidder med et lille problem, som tager lidt tid at regne ud:
så ville hører om, der var nogle af jer, der havde en god idé :) ?

Jeg skal lave et regex til at finde andengradsligninger.
Ligningen vil til at starte med have formlen
5x^2+15x-34

Senere hen, skal den også kunne have formlen
5*x^2+15*x-34

Og endnu senere, skal rækkefølgen af x og x^2 være ligegyldig.

Jeg har selv forsøgt med følgende regex expresion:
\d+x^?+\d+x-\d+

Men har desværre ikke held med det,
så håber at nogle af jer regex eksperter, derude kan hjælpe :)



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Må være noget lign.

(\d+x\^?)((\+|-)\d\*?x)?((\+|-)\d)?

Men...

Jeg vil klart anbefale at du skriver en parser/tokenizer, der kan se og udregne formler for dig. Men det er selvfølgelig noget mere langhåret.



Indlæg senest redigeret d. 10.01.2013 22:45 af Bruger #10216
Hej

Lidt tid siden jeg har rodet med regex, men tror du kan bruge "look-ahead" i python mener jeg det er f.eks "\d+<?=x^2", men du skal nok lige kontrollere det



t