Regex 如何在-(破折号)之后修剪所有东西

Regex 如何在-(破折号)之后修剪所有东西,regex,mongodb,Regex,Mongodb,我有一个主机名,我想修剪破折号后的所有内容,然后删除末尾的数字。例如,这里有一个主机名 axcc91-calpw-11299 当正则表达式应用于上述主机名时,将生成该值 axcc 你可以看到破折号删除后的一切,包括破折号前的数字。如何使用正则表达式完成此操作?尝试以下操作: ^([^-\d]+) 详情: ^字符串的开头 (…)捕获组以返回匹配项 [^-\d]匹配除破折号或数字以外的所有内容 +一到无限次(贪婪) 试试这个: ^([^-\d]+) 详情: ^字符串的开头 (…)捕

我有一个主机名,我想修剪破折号后的所有内容,然后删除末尾的数字。例如,这里有一个主机名

axcc91-calpw-11299
当正则表达式应用于上述主机名时,将生成该值

axcc
你可以看到破折号删除后的一切,包括破折号前的数字。如何使用正则表达式完成此操作?

尝试以下操作:

^([^-\d]+)
详情:

  • ^
    字符串的开头
  • (…)
    捕获组以返回匹配项
  • [^-\d]
    匹配除破折号或数字以外的所有内容
    • +
      一到无限次(贪婪)
试试这个:

^([^-\d]+)
详情:

  • ^
    字符串的开头
  • (…)
    捕获组以返回匹配项
  • [^-\d]
    匹配除破折号或数字以外的所有内容
    • +
      一到无限次(贪婪)

我认为这会返回axcc91,但我需要它来返回不带axcc91的axcc。我该怎么做?啊,我误解了你的问题。更新了模式@Luke101I我想这会返回axcc91,但我需要它返回没有91的axcc。我该怎么做?啊,我误解了你的问题。更新了模式@Luke101