regex 使用管道连接多个复杂正则表达式查询

yc0p9oo0  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(126)

如果我使用这个正则表达式:

^((?!^aa$).)*$

它按预期工作:取消选择行首的'aa'。但是如果我尝试将它与一个类似的字符串组合在一起,它就不会这样做:

^((?!^aa$).)*$|^((?!^ss$).)*$

有谁能解释一下原因吗?
我试着使用两种regex组,转义斜杠的可能方式,谷歌的问题很多,并阅读了许多regex文档。但这对我来说太复杂了。

lc8prwob

lc8prwob1#

要禁止aass,可以在^ start处使用lookahead中的alternation

^(?!aa$|ss$).*

See this demo at regex101-这将prevent匹配任何定义的选项。
前瞻是一个 * 零长度 * Assert,可以在字符串中的任何位置使用。

相关问题