Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为列表中的确切单词生成正则表达式_Python_Regex - Fatal编程技术网

Python 为列表中的确切单词生成正则表达式

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

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

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正确。大多数字符在字符类中都会失去其特殊意义。