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\*)(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}(?!\*)