seth: nur teilstrings von permutationen eines strings zulassen

Beitrag lesen

gudn tach!

es dürfen nur bestimmte Buchstaben vorkommen u.z. nur einmal dafür aber in beliebiger Reihenfolge

erlaubt sind z.B. nur die Buchstaben: acdfghijks

match: sdafgj
no match: sbdaafgjjx (weil: b, 2 mal a, 2 mal j, x)

wenn du ums verrecken regexp einsetzen willst, obwohl das hier afais nicht geschickt waere, koenntest du ein pattern p = /[acdfghijks]/ anlegen, in einer schleife ueber die einzelnen zeichen des strings s jeweils pruefen, ob das aktuelle zeichen gematcht wird und anschliessend (immer noch innerhalb der schleife) jenes zeichen aus dem pattern entfernen.

besser: kein regexp, sondern konventionelle string-funktionen, aber die gleiche idee.

pseudo-code:
// str = gegebener string
erlaubt = 'acdfghijks'; // fasse erlaubt als array of chars auf
for(i=length(str)-1; i>=0; --i){
  if(str[i] in erlaubt){
    erlaubt = erlaubt ohne str[i]
  }else{
    alert('moep!');
    break;
  }
}

das in js umzusetzen ist nicht so schwer. siehe selfhtml fuer string- und array-handling:
http://de.selfhtml.org/javascript/objekte/string.htm
http://de.selfhtml.org/javascript/objekte/array.htm

prost
seth