I have a little problem, I have 8 characters, for example “a b c d a e f g”, and a list of words, for example:
mom, dad, bad, fag, abac
How can I check if I can or cannot compose these words with the letters I have?
In my example, I can compose bad, abac and fag, but I cannot compose dad (I have not two D) and mom (I have not M or O).
I’m pretty sure it can be done using a RegEx but would be helpful even using some functions in Perl..
Thanks in advance guys! 🙂
This is done most simply by forming a regular expression from the word that is to be tested.
This sorts the list of available characters and forms a string by concatenating them. Then each candidate word is split into characters, sorted, and rejoined with the regex term
.*as separator. So, for instance,abacwill be converted toa.*a.*b.*c.Then the validity of the word is determined by testing the string of available characters against the derived regex.
output