in reply to regex for word puzzle
I have a program that I use for this sort of thing, specifically written always to generate a single regular expression.
The program is 'word', and it includes flags -a for "anagram", -u for "use any subset of the letters", and -D for "just show me the regexp".
For an exact anagram, word -Da rtesamcna gives:
/^(?:(?=.*e)(?=.*n)(?=.*c)(?=.*r)(?=.*a.*a)(?=.*m)(?=.*s)(?=.*t).{9,9} +)\z/oi
That is: require each of the single letters, require a double "a", and require exactly 9 letters.
For all subsets, word -Dua rtesamcna gives:
/^(?:(?:([encrmst])(?!.*\1)|([a])(?!.*\2.*\2))+)\z/oi
That is: require all matching letters to be from the list, and additionally don't allow more than one of any of [encrmst], nor more than two "a"s.
(Note: normal use of the word program also requires wrap from the same place.)
Hugo
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: regex for word puzzle
by Anonymous Monk on May 17, 2011 at 02:46 UTC |