Python 为列表中的确切单词生成正则表达式
我正在尝试写一个正则表达式,可以匹配下面或类似单词中的任何单词<这些字符串中的code>*是精确的Python 为列表中的确切单词生成正则表达式,python,regex,Python,Regex,我正在尝试写一个正则表达式,可以匹配下面或类似单词中的任何单词*是精确的*,而不是任何字符 Jump J**p J*m* J*** ***p J***ing J***ed ****ed 我想把长度固定下来 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
*
,而不是任何字符
Jump
J**p
J*m*
J***
***p
J***ing
J***ed
****ed
我想把长度固定下来
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'
我使用了以下语句,但由于某种原因,我无法正确翻译。它还接受其他字符串
p = re.compile('j|\*)(u|\*)(m|\*)...)
bool(p.match('******g'))
这是一个相当简单的正则表达式。我们希望匹配一个单词,但允许每个字符都是星号。因此,正则表达式是一系列字符组,其形式为
[x*]
:
[Jj*][u*][m*][p*](?:[i*][n*][g*]|[e*][d*])?
如果您只想匹配这些精确的单词,请确保使用模式。这是一个相当简单的正则表达式。我们希望匹配一个单词,但允许每个字符都是星号。因此,正则表达式是一系列字符组,其形式为
[x*]
:
[Jj*][u*][m*][p*](?:[i*][n*][g*]|[e*][d*])?
如果您只想匹配这些精确的单词,请确保使用模式。如何
“Jump | J\*\*p | J\*m\*\*.…| J\*\*\*\*ed”
。尝试转到此处:或其他测试网站,放置所有应匹配的字符串和一些不应匹配的字符串,然后测试您的正则表达式。当你写*
时,我想你的意思可能是
(任何单个字符)。您甚至可能是指\w
(任何单词字符)。可能以(J\w\wp | J\wm\w)开头
您的“*”代表任何单个字符吗?如果是这样的话,那么它一定是一个“.”。对不起,*
就是一个确切的字符。那么“Jump | J\*\*p | J\*m\*.…| J\*\*\*\*ed”
。试试这里:或者到另一个测试网站,把所有应该匹配的字符串和一些不应该匹配的字符串放在一起,然后测试你的正则表达式。当你写*
时,我想你的意思可能是
(任何单个字符)。您甚至可能是指\w
(任何单词字符)。可能以(J\w\wp | J\wm\w)开头
您的“*”代表任何单个字符吗?如果是这样,那么它必须是一个“.”。对不起,*
就是这个字符!而*
不需要转义,因为包含[]
,我假设******
、*********
应该被视为有效匹配吗?@zzxyz正确。大多数角色在一个角色类中失去了它们的特殊意义。太好了!而*
不需要转义,因为包含[]
,我假设******
、*********
应该被视为有效匹配吗?@zzxyz正确。大多数字符在字符类中都会失去其特殊意义。