我正在try 编写一个表达式,如果它有一组字符,但仅当它包含这些字符的较小子集时,才能匹配整个字符串.

为了包括我的特定用例,我希望RegEx:^[\w_\-]+$(可以有字母数字字符、连字符和破折号)匹配,但如果此RegEx匹配:^[\d_\-]+$(字符串中必须至少有一个字母,但它不能同时包含字母和数字),则不匹配.

任何被允许的字符可能出现在任何位置,这使得本网站上的其他相关问题不适用于我的情况.

  • foo-bar_123:匹配
  • 123:不匹配
  • 1-2-3:不匹配
  • 1-a:匹配

推荐答案

你可以试试^(?=.*[a-zA-Z])[\w\-]+$

Javascript相关问答推荐

在JavaScript中使用setProperty方法试图修改css元素值时,我遇到错误

在JavaScript中逐一播放随机生成的音频文件数组

创建1:1比例元素,以另一个元素为中心

Cypress -使用commands.js将数据测试id串在一起失败,但在将它们串在一起时不使用命令有效

react/redux中的formData在expressjs中返回未定义的req.params.id

浮动Div的淡出模糊效果

处理时间和字符串时MySQL表中显示的日期无效

无法读取未定义错误的属性路径名''

如何解决useState错误—setSelect Image不是函数''

如果Arrow函数返回函数,而不是为useEffect返回NULL,则会出现错误

如何在coCos2d-x中更正此错误

如何强制Sphinx中的自定义js/css文件始终加载更改而不缓存?

从Nextjs中的 Select 项收集值,但当单击以处理时,未发生任何情况

如何将数组用作复合函数参数?

自定义确认组件未在vue.js的v菜单内打开

如何在一个对象Java脚本中获取不同键的重复值?

如何使用画布在另一个内部绘制一个较小但相同的形状,同时保持恒定的边界厚度?

我不知道如何纠正这一点.

AG-GRIDreact 显示布尔值而不是复选框

如何在每隔2分钟刷新OKTA令牌后停止页面刷新