【问题标题】:Regex for only alphanumeric(only numeric should not be allowed)仅用于字母数字的正则表达式(不应仅允许使用数字)
【发布时间】:2018-03-11 08:30:35
【问题描述】:

我试过了

^[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*$

&

^(?![0-9]*$)[a-zA-Z0-9]+$

但两者都只允许数字。

【问题讨论】:

  • 为什么不在代码逻辑中处理呢? (查找字母数字的正则表达式,查找数字的正则表达式,合并结果)
  • 我看不出你自己的正则表达式有问题regex101.com/r/M7R3ze/1
  • 你在哪里使用这个正则表达式?语言/环境是什么?

标签: regex alphanumeric


【解决方案1】:

你可以试试这个:

^(?=.*[a-zA-Z])[a-zA-Z0-9]+$

解释:

  1. ^ 字符串开头。
  2. (?=.*[a-zA-Z]) 积极向前看,确保存在 一个或多个 a-zA-Z;如果为真,则:
  3. [a-zA-Z0-9]+ 这匹配一个或多个字母数字字符的组合。
  4. $ 字符串结束。

Demo

【讨论】:

  • 如果两个 OP 的正则表达式都没有给他们预期的输出,你的也不会。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
  • 1970-01-01
  • 2016-02-21
  • 2017-04-30
  • 2022-06-13
  • 2011-12-29
  • 2019-10-19
相关资源
最近更新 更多