Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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
Regex 正则表达式。是否可以匹配(a或b)和(a或c)以及(a或d),但不能匹配aaa?_Regex_Python 3.x - Fatal编程技术网

Regex 正则表达式。是否可以匹配(a或b)和(a或c)以及(a或d),但不能匹配aaa?

Regex 正则表达式。是否可以匹配(a或b)和(a或c)以及(a或d),但不能匹配aaa?,regex,python-3.x,Regex,Python 3.x,我想审查一个脏话。用户可以将某些字符替换为* 让我们以“狗”一词为例(这当然不是脏的) *奥格 d*g 做* d** 等等 正则表达式看起来像(d\*)(o\*)(g\*) 是否可以匹配上述所有变体,但不能匹配“***” ^(?!\**$)[dog*]+$ 您可以使用lookahead尝试类似的方法。请参阅演示 是的,Python有消极的前瞻断言。您想要匹配[d*][o*][g*]和(?!\*{3}): 您也可以使用此正则表达式: ^\w{0,3}\*{0,2}\w{0,3}(?!\*) 虽

我想审查一个脏话。用户可以将某些字符替换为*

让我们以“狗”一词为例(这当然不是脏的)

  • *奥格
  • d*g
  • 做*
  • d**
  • 等等

    正则表达式看起来像
    (d\*)(o\*)(g\*)

    是否可以匹配上述所有变体,但不能匹配“***”

    ^(?!\**$)[dog*]+$
    
    您可以使用
    lookahead
    尝试类似的方法。请参阅演示


    是的,Python有消极的前瞻断言。您想要匹配
    [d*][o*][g*]
    (?!\*{3})


    您也可以使用此正则表达式:

    ^\w{0,3}\*{0,2}\w{0,3}(?!\*)
    

    虽然你在技术上不需要前瞻,但如果你不(
    ([d*][o*]g |[d*]o[g*]d[o*][g*]d[o*][g*]
    ),你怎么知道狗不脏呢?我的狗很快就变得泥泞了….:-用这个,你还必须添加
    (!d*$)(!o*$)…
    -这个正则表达式需要太多的例外。
    ^\w{0,3}\*{0,2}\w{0,3}(?!\*)