正则表达式 - 如何根据字符串长度拒绝?

Geo*_*ync 0 regex

正则表达式:

^[U][S][A]\d{2}[C][S]\d{3}
Run Code Online (Sandbox Code Playgroud)

它表明这些值是有效的:

USA25CS131 (valid)
USA25CS1311 (invalid length)
Run Code Online (Sandbox Code Playgroud)

如何让它拒绝太长的字符串?

cig*_*ien 5

您可以简单地将正则表达式锚定在末尾$,如下所示:

^[U][S][A]\d{2}[C][S]\d{3}$
Run Code Online (Sandbox Code Playgroud)

现在您将不会匹配末尾带有额外字符的字符串。

您还可以将正则表达式简化为:

^USA\d{2}CS\d{3}$
Run Code Online (Sandbox Code Playgroud)