Page 1 of 1

Optionale (Öffnung) Klammer, aber die Schließung von Klammern sollte dann obligatorisch sein

Posted: 11 Feb 2025, 06:48
by Guest
Ich habe einen regulären Ausdruck erstellt, mit dem Benutzer Formeln in meiner Anwendung erstellen können. Der reguläre Ausdruck, den ich habe, funktioniert gut, aber ich möchte, dass Benutzer das Öffnen und Schließen von Klammern erstellen.

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
Ich möchte, dass der reguläre Ausdruck mit () arbeitet, mit dem er derzeit für einige Beispiele nicht nicht funktioniert:
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.