Ich möchte die DNF (disjunktive Normalform) validieren, die so aussieht A*B+A'*C+C*D*E'
. Dazu verwende ich das folloing folgende Muster:Muster für DNF-Funktion (javascript regular expression)
/[A-Z]'?(\*[A-Z]'?)*(\+[A-Z]'?(\*[A-Z]'?)*)+/g
ich dieses Muster getestet habe Javascript-Test() -Methode in diesem Online-Tool: http://www.pagecolumn.com/tool/regtest.htm und es gibt mir das Ergebnis, das ich erwartet habe.
Ich habe versucht, das Muster mit Javascript zu testen, mit dem folgenden Code:
<script type="text/javascript">
var dnf="A*3+A*B+CD";
var pattern= /[A-Z]'?(\*[A-Z]'?)*(\+[A-Z]'?(\*[A-Z]'?)*)+/g;
var flag = false;
flag=pattern.test(dnf);
console.log(flag);
</script>
Das Problem ist, ich verstehe nicht, warum Flag (in diesem Code) wird "true", was muss "falsch" sein, verursachen die Begriffe A * 3 und CD im dnf="A*3+A*B+CD"
.
Ich habe das im Online-Tester getestet und es heißt: keine Übereinstimmungen, was ich für richtig halte.
danke kühl für die Erklärung :) –