如果存在foo或bar,则RegEx匹配x,但如果只存在bar,则不匹配x

huus2vyu  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(120)

我正在尝试编写一个表达式,它可以匹配整个字符串,如果它有一组字符,但只有当它包含这些字符的一个较小的子集。
为了包含我的特定用例,我想要这个RegEx:^[\w_\-]+$(可以有字母数字字符、连字符和破折号),以匹配,但如果此RegEx匹配,则不匹配:^[\d_\-]+$(字符串中必须至少有一个字母,但它不必须同时包含字母和数字)。
任何允许的字符可以在任何位置,这使得本网站上的其他相关问题不适用于我的情况。

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

yzxexxkh1#

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

ldfqzlk8

ldfqzlk82#

您可以尝试匹配正则表达式

^[\w\-]*[a-zA-Z][\w\-]*$

Demo

相关问题