Code: Select all
(
^[(N|R)]: //START WITH N: OR R:
(?:
(?:
[-.0-9]+|BT|PT|PN|PR //ALLOW 48.934, BT, PT, PN OR PR
)
(?:
\+|\*|\-|\/ //ALLOW OPERATORS /,*,+ and -
)
)+ //REPEAT x TIMES
(?:
[-.0-9]+|BT|PT|PN|PR //MUST END WITH 48.934, BT, PT, PN OR PR
)
(?:
:V //ADD MANDATORY :V
)
(?:
[-.0-9]+ //CLOSE REGEX WITH NUMBER
)
)
< /code>
Einige Beispiele, bei denen der reguläre Ausdruck derzeit funktioniert: < /p>
N:0.3*BT/PN*PR:V1
N:2000+PN/BT:V0.5
R:BT*PN-500:V2
N:(2000+PN)/BT:V0.5
R:BT*(PN-500):V2
< /code>
Ich habe über positive und negative Lookahead gelesen, um If /sonst Strukturen zu erstellen, aber ich kann nicht die richtige Logik für meine Bedürfnisse finden. < /p>
sehr geschätzt, wenn mich jemand in die richtige Richtung führen kann. < /p>
p.s. Ich benutze die JavaScript Regex -Engine.