正则表达式 x 之后的所有内容直到空格

Aps*_*wak 2 javascript regex

xnum-539 classname random-word xnum-hello hi-239

我需要挑出之后的任何东西xnum-,所以在这种情况下,539, 和hello.

我尝试了多种方法,最好的方法是:

-(.*?)\s. 但是当我只想要破折号之后的内容时,这包括破折号。(例如-539

或者

rnum-(.*?)\s 这需要整个事情。

对于这两种解决方案,我都不想手动切片。抱歉,如果这是重复的,但我尝试使用其他答案,而且我在正则表达式方面很糟糕。

谢谢

Wik*_*żew 5

请注意,您的正则表达式实际上需要\s在匹配结束时使用空格 ( ),因此,停止正则表达式引擎以匹配您在字符串末尾的值。

您可以获得与/xnum-(\S+)/g正则表达式和访问组 1 的所有匹配项:

var s = "xnum-539 classname random xnum-hello";
var res=[],m;
var re = /xnum-(\S+)/g;
while ((m=re.exec(s)) !== null) {
  res.push(m[1]);
}
console.log(res);
Run Code Online (Sandbox Code Playgroud)

图案详情

  • xnum- - 一系列文字字符 xnum-
  • (\S+) - 捕获 ID 为 1 的组,匹配一个或多个非空白符号。