我想知道如何为我的正则表达式指定字符数.我有正确的正则表达式,我只需要确保这将验证零到四十个字符.
这是正则表达式
$fnameRegex = "/^[a-zA-Z0-9{0,40}-_]+$/";
我可能把它{0,40}放在了错误的地方.
mat*_*fee 10
尝试
$fnameRegex = "/^[a-zA-Z0-9\-_]{0,40}$/";
Run Code Online (Sandbox Code Playgroud)
字符类中的所有[]内容只匹配一个字符.你把数量限制器放在它之外(你之前有+1或更多 - 用{0,40}替换它,它在0到40之间).
我-也在你的角色类中逃脱了你的角色,否则它将被解释为一个范围.
我还向你推荐了一个伟大的regexr网站,它有利于交互式地玩正则表达式.