Pattern: ^(?!test|abc).*$
我不想仅仅匹配test或abc,但这也匹配test123
我需要添加什么才能让它在结束时停止?
答案 0 :(得分:3)
您还需要在前瞻中使用结束锚点:
^(?!(?:test|abc)$).*$
然后,它不会将test
和abc
与整个字符串匹配,但会匹配test123
。
这是一个regex demo(使用PCRE引擎,因为它在.NET表达式中的工作方式与此表达式相同)。
要将$
字符串结尾锚点应用于test
和abc
,您需要对它们进行分组,我建议使用非捕获组(或者使用RegexOptions.ExplicitCapture
)捕获一个。