【问题标题】:What is the regex to match an alphanumeric 6 character string?匹配字母数字 6 字符串的正则表达式是什么?
【发布时间】:2010-09-07 11:18:14
【问题描述】:

我需要 asp.net 应用程序的正则表达式来匹配至少 6 个字符长的字母数字字符串。

【问题讨论】:

  • 仅作记录:您所说的字母数字是什么意思?只有拉丁字符 azAZ 和数字 09?
  • 是的,有时还带有一些土耳其字母,例如 ĞÜŞİÖÇçöişüğ。
  • 我认为它因国家而异。
  • 在这种情况下使用 Unicode 字符属性字符类。

标签: regex alphanumeric


【解决方案1】:

我不熟悉 ASP.NET。但是正则表达式应该是这样的:

^[a-zA-Z0-9]{6,}$

^$分别表示字符串的开始和结束; [a-zA-Z0-9] 描述一个字母数字字符,{6,} 允许重复六次或更多次。

【讨论】:

  • 请注意,这与字母“ö”等不匹配。
  • @Fredrik Mörk:我想这很明显。
  • 我相信您已经意识到了这一点(尤其是因为您生活在一个存在此问题的国家,从您的个人资料来看),但我遇到过很多不知道的人;这就是我评论它的原因。
  • 我觉得你想要的模式更像^[\pL\pN]{6,}$
  • 如何修改这个正则表达式以容纳至少一个字符和至少一个数字,总长度为 11
【解决方案2】:

我会用这个:

^[\p{L}\p{N}]{6,}$

这匹配 Unicode 字母 (\p{L}) 和数字 (\p{N}),因此不限于拉丁字母表中的常见字母。

【讨论】:

    【解决方案3】:

    ^\w{6,}$^[a-zA-Z0-9]{6,}$

    (取决于正则表达式的实现)

    注意,\w 也匹配 _

    【讨论】:

    • a-Z 不是有效的字符范围。
    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多