为什么我的字符串与我的正则表达式模式不匹配?

Why my string does not match my regular expression pattern?

谁能告诉我为什么下面的字符串:

ASLTHODSERV001.ABCDE.FGHI.CONTOSO.COM 

不符合以下模式:

"^\w{6}(?!AADS|ADC|AMOM|ASERV|SMOM|SYSMS)\d{3}.ABCDE.FGHI.CONTOSO.COM" 

谢谢

您需要在否定前瞻后添加额外的 \w{5} 以便它匹配 3 位数字之前存在的 5 个单词字符。

^\w{6}(?!AADS|ADC|AMOM|ASERV|SMOM|SYSMS)\w{5}\d{3}\.ABCDE\.FGHI\.CONTOSO\.COM

^\w{6}(?!AADS|ADC|AMOM|ASERV|SMOM|SYSMS)[A-Z]*\d{3}\.ABCDE\.FGHI\.CONTOSO\.COM

DEMO

你有:

"^\w{6}(?!AADS|ADC|AMOM|ASERV|SMOM|SYSMS)
   ^^^^^--- 6 characters

ASLTHODSERV001.ABCDE.FGHI.CONTOSO.COM 
123456

留下 DSERV...NOT 出现在您的其余正则表达式中。最接近的是 ASERV,但你有 DSERV,所以没有匹配项。