正则表达式,它将在Javascript中捕获带有异常的组

正则表达式,它将在Javascript中捕获带有异常的组,javascript,regex,Javascript,Regex,我试图匹配一个包含该单词的组,但条件是该单词的前缀为连字符和另一个单词 以这个例子为例: 例行公事 失败的例子 所讨论的单词是docs。如果单词后面加了连字符,我想将它正确地匹配到一个组中 加分:如果你能为裁判做同样的事情 这里有一个不完全确定我是否理解这个问题,但这能奏效吗 ([a-zA-Z]+-[a-zA-Z]+) 它匹配一个或多个字母,然后是连字符,然后再匹配一个或多个字母 foo (not matched) -foo (not matched) foo-bar (matched)

我试图匹配一个包含该单词的组,但条件是该单词的前缀为连字符和另一个单词

以这个例子为例:

例行公事

失败的例子

所讨论的单词是docs。如果单词后面加了连字符,我想将它正确地匹配到一个组中

加分:如果你能为裁判做同样的事情


这里有一个

不完全确定我是否理解这个问题,但这能奏效吗

([a-zA-Z]+-[a-zA-Z]+)
它匹配一个或多个字母,然后是连字符,然后再匹配一个或多个字母

foo  (not matched)
-foo  (not matched)
foo-bar  (matched)
在这里尝试一下:

编辑,如果它只需要匹配文档或引用,然后是连字符,然后是单词,那么应该可以:

((?:docs|refs)-[a-zA-Z]+)

只要积极地向前看

console.log ['docs-world'、'docs-foo'、'docs hello'、'docs'] .mapRegExp.prototype.test,/docs=-/ ;
foo  (not matched)
-foo  (not matched)
foo-bar  (matched)
((?:docs|refs)-[a-zA-Z]+)