拿xnum-539 classname random-word xnum-hello hi-239。
我需要挑出之后的任何东西xnum-,所以在这种情况下,539, 和hello.
我尝试了多种方法,最好的方法是:
-(.*?)\s. 但是当我只想要破折号之后的内容时,这包括破折号。(例如-539)
或者
rnum-(.*?)\s 这需要整个事情。
对于这两种解决方案,我都不想手动切片。抱歉,如果这是重复的,但我尝试使用其他答案,而且我在正则表达式方面很糟糕。
谢谢
请注意,您的正则表达式实际上需要\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 的组,匹配一个或多个非空白符号。