我正在尝试为HTML输入字段构建正则表达式模式,该模式仅允许最多20个字母和数字的组合,其中只能有最多两个破折号(-)、下划线(_)和句点(.)。因此,允许使用两个符号,任何数量的字母和数字,它们的组合必须在4到20之间。这种情况下的模式是什么?一个示例(不起作用)的版本可能是[A-Za-z0-9([\._-]{0,2})]{4,20}。
解决方案: 我决定采用@pascalhein @Honore Doktorr的答案,使用前瞻。最终的模式是^(?=[A-Za-z0-9]*([._-][A-Za-z0-9]*){0,2}$)[A-Za-z0-9._-]{4,20}$。
解决方案: 我决定采用@pascalhein @Honore Doktorr的答案,使用前瞻。最终的模式是^(?=[A-Za-z0-9]*([._-][A-Za-z0-9]*){0,2}$)[A-Za-z0-9._-]{4,20}$。
[A-Za-z0-9([\._-]{0,2})]{4,20}
的东西。 - user3254198