我想根据以下架构验证用户名:

  • 允许的字符:字母,数字,连字符,下划线
  • 第一个字符必须是字母或数字
  • 用户名不能为全数字

  • 这个正则表达式满足上面的1和2,但是我不知道如何满足3:
    /^[a-zA-Z\d][\w\-]+$/
    

    (如果相关,我正在使用Ruby)

    最佳答案

    不是很有效,但是很简单:
    /^(?!\d+$)[a-zA-Z\d][\w\-]+$/
    前瞻简单地表示:“后面没有一串数字,一直持续到最后”。

    关于ruby - 表示 "at least one non-digit"的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2125907/

    10-13 07:45