My approach is just like that, I just try to do it in more sophisticated way. Such as, in the case of #67, my experimental version of Bitcrack can be ordered, based on parameters prior to start, to do all private keys from a given range, but forced to contain, looking at the private key as if it were a string of characters, for example this:
---
At least one "letter-letter" next to each other anywhere in the string, at least one number "5" anywhere, but not more than 3 occurrences of number "5" anywhere, at least 3 times "any-number" anywhere but lower than <8, at least one occurrence of "D" anywhere, and must not contain any occurrence of "letter-letter-letter" or more occurrences, no number "7" anywhere in the string, etc., etc.
---
I kinda see your logic but it would likely skip the solution, look at this randomly generated (from *.pw/random/puzzle/67):
{
1) 567f4d3
ddd5b6d0df
}
Would this possible solution be skipped by your filtering process? Or I misunderstood the ruleset.
Puzzle 110 would like a word with him about his rule set.