Matches: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 32: Zeile 32:


'''isElementOf''':
'''isElementOf''':
'''JACK2:'''
matches('[pos=1]','^(1|2|3)$')
--> [pos=1]=4  --> returns ''false''
--> [pos=1]=2  --> returns ''true''


'''JACK3:'''
  matches([input=field1],'^(1|2|3)$')
  matches([input=field1],'^(1|2|3)$')
  --> [input=field1]=4  --> returns ''false''
  --> [input=field1]=4  --> returns ''false''
Zeile 44: Zeile 39:


'''isFraction''':
'''isFraction''':
'''JACK2:'''
matches('[pos=1]','^-?\d+\/\d+$')
--> [pos=1]=12.34  --> returns ''false''
--> [pos=1]=8/9  --> returns ''true''


'''JACK3:'''
  matches([input=field1],'^-?\d+\/\d+$')
  matches([input=field1],'^-?\d+\/\d+$')
  --> [input=field1]=12.34  --> returns ''false''
  --> [input=field1]=12.34  --> returns ''false''
Zeile 56: Zeile 46:


'''isIntegerNumber''':
'''isIntegerNumber''':
'''JACK2:'''
matches('[pos=1]','^-?\d+$')
--> [pos=1]=12  --> returns ''true''
--> [pos=1]=2.3  --> returns ''false''


'''JACK3:'''
  matches([input=field1],'^-?\d+$')
  matches([input=field1],'^-?\d+$')
  --> [input=field1]=12  --> returns ''true''
  --> [input=field1]=12  --> returns ''true''
Zeile 68: Zeile 53:


'''isNaturalNumber''':
'''isNaturalNumber''':
'''JACK2:'''
matches('[pos=1]','^\d+$')
--> [pos=1]=42  --> returns ''true''
--> [pos=1]=-42  --> returns ''false''


'''JACK3:'''
  matches([input=field1],'^\d+$')
  matches([input=field1],'^\d+$')
  --> [input=field1]=42  --> returns ''true''
  --> [input=field1]=42  --> returns ''true''
Zeile 80: Zeile 60:


'''isNotElementOf''':
'''isNotElementOf''':
'''JACK2:'''
matches('[pos=1]','^((?!1|2).)*$')
--> [pos=1]=2  --> returns ''false''
--> [pos=1]=4  --> returns ''true''


'''JACK3:'''
  matches([input=field1],'^((?!1|2).)*$')
  matches([input=field1],'^((?!1|2).)*$')
  --> [input=field1]=2  --> returns ''false''
  --> [input=field1]=2  --> returns ''false''
Zeile 92: Zeile 67:


'''isRationalNumber''':
'''isRationalNumber''':
'''JACK2:'''
matches('[pos=1]','^-?\d+\.\d+$')
--> [pos=1]=14  --> returns ''false''
--> [pos=1]=12.5  --> returns ''true''


'''JACK3:'''
  matches([input=field1],'^-?\d+\.\d+$')
  matches([input=field1],'^-?\d+\.\d+$')
  --> [input=field1]=14  --> returns ''false''
  --> [input=field1]=14  --> returns ''false''
Zeile 104: Zeile 74:


'''isRealNumber''':
'''isRealNumber''':
'''JACK2:'''
matches('[pos=1]','^-?\d+(\.|\/)?\d*$')
--> [pos=1]=12.7  --> returns ''true''
--> [pos=1]=test  --> returns ''false''


'''JACK3:'''
  matches([input=field1],'^-?\d+(\.|\/)?\d*$')
  matches([input=field1],'^-?\d+(\.|\/)?\d*$')
  --> [input=field1]=12.7  --> returns ''true''
  --> [input=field1]=12.7  --> returns ''true''
  --> [input=field1]=test  --> returns ''false''
  --> [input=field1]=test  --> returns ''false''


=== Hinweise ===
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:Zeichenkettenfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]
 
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Zeichenkettenfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 18. November 2025, 13:52 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion matches prüft, ob ein String einem gegebenen regulären Ausdruck genügt. Die Funktion erwartet zwei Strings, die Zeichenkette, die geprüft werden soll, und den regulärer Ausdruck, der als Grundlage zum Prüfen gilt. Es wird ein Boolean zurückgegeben.

Syntax

matches(Zeichenkette zeichenkette, Zeichenkette regExp)

Parameter

  • zeichenkette - zu prüfende Zeichenkette
  • regExp - regulärer Ausdruck

Return Value

Beispiele

Standardfälle

matches('Abcd0','[A-Za-z0-9]*')   --> returns true

Benutzung von Variablen

matches('abababa','[var=a]')

matches('[var=c]','\\d')

matches([input=field1], concat([var=s3a], '|', [var=s3b], '|', [var=s3c]))

Benutzung von Textfeldern

Bei einigen Testfunktionen kann matches als Ersatz dienen, wenn man Textfelder aber keinen Formeleditor nutzt.

Im folgenden jeweils ein Beispiel für die Ersetzung der Funktionen mit matches.

isElementOf:

matches([input=field1],'^(1|2|3)$')
--> [input=field1]=4   --> returns false
--> [input=field1]=2   --> returns true


isFraction:

matches([input=field1],'^-?\d+\/\d+$')
--> [input=field1]=12.34   --> returns false
--> [input=field1]=8/9   --> returns true


isIntegerNumber:

matches([input=field1],'^-?\d+$')
--> [input=field1]=12   --> returns true
--> [input=field1]=2.3   --> returns false


isNaturalNumber:

matches([input=field1],'^\d+$')
--> [input=field1]=42   --> returns true
--> [input=field1]=-42   --> returns false


isNotElementOf:

matches([input=field1],'^((?!1|2).)*$')
--> [input=field1]=2   --> returns false
--> [input=field1]=4   --> returns true


isRationalNumber:

matches([input=field1],'^-?\d+\.\d+$')
--> [input=field1]=14   --> returns false
--> [input=field1]=12.5   --> returns true


isRealNumber:

matches([input=field1],'^-?\d+(\.|\/)?\d*$')
--> [input=field1]=12.7   --> returns true
--> [input=field1]=test   --> returns false