2

我正在尝试检查字符串是否至少包含 A-Za-z0-9 但不包含 &。我对正则表达式的经验是有限的,所以我从简单的部分开始,得到:

.*[a-zA-Z0-9].*

但是,我很难将它与不包含 & 部分结合起来。我一直在思考,^(?=.*[a-zA-Z0-9].*)(?![&()]).*但这似乎并没有奏效。

任何帮助,将不胜感激。

4

1 回答 1

1

我不确定这是否是您的意思,但这是一个正则表达式,它将匹配任何字符串:

  • 包含至少一个字母数字字符
  • 不包含 &

此表达式确保始终匹配整个字符串(开头和结尾的 and),并且所有匹配的字符都不是“&”符号(^部分):$[^&]*

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

但是,如果您不限于单个表达式,那么在代码中简单地执行两次检查可能会更清晰。

此外,请查看\w正则表达式中的类(如果您想允许非 ASCII 字符,它可能是捕获字母数字字符的更好解决方案)。

于 2012-10-11T12:35:57.200 回答