Felix Riesterer: Reguläre Ausdrücke

Beitrag lesen

Lieber Timo,

um mathematische Terme auf Gültigkeit zu prüfen, sind reguläre Ausdrücke kein geeignetes Mittel. Das schrieb ich schon.

expression = /(%afd%|%xyz%|%mnl%|[0-9()*/+-])+/;

Hier hast Du einen Syntax-Fehler. "/" beginnt und beendet ein Muster. Wenn Du das Zeichen innerhalb des Musters verwenden willst, dann musst Du es "escapen", sprich einen Backslash davor stellen.

[code lang=javascript]expression = /(%afd%|%xyz%|%mnl%|[0-9()*/+-])+/;

                                  hier: ^^  

> if (result == true)  
  
Das geht kürzer: `if (result) {...} `{:.language-javascript}  
  

> Wenn ich nun aber "1e" eingebe ist meine Eingabe auch korrekt. Ich möchte aber das meine Eingabe falsch ist solbald der Reguläre Ausdruck nicht mehr darauf angewendet werden kann. Ist test() die Falsche Funktion für diese Überprüfung.  
  
Nein. Der von Dir gewählte Ansatz zur Problemlösung ist falsch. Du benötigst einen Parser.  
  
Liebe Grüße,  
  
Felix Riesterer.

-- 
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)