对于一个侧面项目,我想知道以下最佳方法是什么:
我有一个给定的字符串列表,我有一个字符串,其中包含列表中某个单词的随机字符。 作为一项额外的挑战,混洗后的字符串可能包含通配符(' *')。
将字符串解读为可用字词的方法是什么? 我尝试循环遍历它并使用fnmatch(),它与通配符一起使用,但它不适用于加扰字符串。 我遇到了我可以使用的方法count_chars,但我认为这不适用于通配符。 考虑到单词列表非常小,性能不是一个真正的问题,但是,更快的是更好。
修改
这就是我的尝试:
$pattern = 'Pe*r';
$words = ['Apple', 'Pear', 'Banana', 'Peach'];
fnmatch('Pe*r', $words[$1], FNM_CASEFOLD); // returns 1
fnmatch('ea*r', $words[$1], FNM_CASEFOLD); // returns 0
我已经尝试过在这里找到的count_chars解决方案: compare scrambled words with an unscrambled wordlist php - 但我对如何将其与fnmatch结合以包含通配符选项感到困惑。
提前感谢任何提供的解释或推动正确的方向。