从列表中生成精确单词的正则表达式

lea*_*ner 0 python regex

我正在尝试编写一个可以匹配以下或类似单词中的任何单词的正则表达式.*在这些字符串中是精确的,*而不是任何字符.

Jump
J**p
J*m*
J***
***p
J***ing
J***ed
****ed
Run Code Online (Sandbox Code Playgroud)

我想保持固定的长度.

1. Any string of lenght 4 that matches the string 'jump' 
2. Any string of length 6 that matches 'jumped' 
3. Any string of length 7 that matches 'jumping' 
Run Code Online (Sandbox Code Playgroud)

我使用以下语句但由于某种原因,我无法正确翻译.它也接受其他字符串.

p = re.compile('j|\*)(u|\*)(m|\*)...)
bool(p.match('******g'))
Run Code Online (Sandbox Code Playgroud)

Ara*_*Fey 6

这是一个相当简单的正则表达式.我们想匹配一个单词,但允许每个字符都是星号.因此,正则表达式是一系列形式的字符组[x*]:

[Jj*][u*][m*][p*](?:[i*][n*][g*]|[e*][d*])?
Run Code Online (Sandbox Code Playgroud)

在regex101中查看它的运行情况.

如果您只想匹配这些确切的单词,请确保使用该模式re.fullmatch.