Ваши регулярные выражения неверны - вы, кажется, используете синтаксис glob вместо правильных регулярных выражений.
В регулярном выражении x*
означает «ноль или более из x
», поэтому оба ваших регулярных выражения будуттривиально сопоставить пустую строку.Вы, очевидно, имеете в виду
d = regexdict({'^W':'White', '^H':'Hispanic'})
вместо этого, где привязка регулярного выражения ^
соответствует началу строки.
Существует несколько сторонних пакетов 1 , 2 , 3 с именем regexdict
, поэтому вы, вероятно, должны указать, какой из них вы используете.Я не могу сказать, нужен ли ^
здесь, или регулярные выражения должны полностью соответствовать входным данным (я предположил, что совпадение подстроки является достаточным, как это обычно имеет место в регулярном выражении), потому что детали такого рода могут сильно отличатьсямежду реализациями.