Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从正则表达式中删除子正则表达式查询_Javascript_Regex_Regex Negation - Fatal编程技术网

Javascript 从正则表达式中删除子正则表达式查询

Javascript 从正则表达式中删除子正则表达式查询,javascript,regex,regex-negation,Javascript,Regex,Regex Negation,我有一个字符串,其中包含特定序列“SMP未知字符数-4个字符”。除了正则表达式之外,我必须从字符串中选择所有内容。目前我可以选择要排除的子字符串 (SMP-([\S])+-[\S][\S][\S][\S]) 我必须从字符串中选择除上述正则表达式之外的所有内容 测试字符串: “测试更新的正则表达式:SMP-werdgs-2903 testm”有两种方法可以满足您的要求: 1/匹配前后的所有内容,并将两个结果合并: ^(.*) SMP-([\S])+-[\S][\S][\S][\S] (.*)$

我有一个字符串,其中包含特定序列“SMP未知字符数-4个字符”。除了正则表达式之外,我必须从字符串中选择所有内容。目前我可以选择要排除的子字符串

(SMP-([\S])+-[\S][\S][\S][\S])

我必须从字符串中选择除上述正则表达式之外的所有内容

测试字符串:


“测试更新的正则表达式:SMP-werdgs-2903 testm”

有两种方法可以满足您的要求:

1/匹配前后的所有内容,并将两个结果合并:

  ^(.*) SMP-([\S])+-[\S][\S][\S][\S] (.*)$
或者使用javascript

  matches = p.match(/^(.*)SMP-\S+-\S{4}(.*)$/);
  result = matches[1]+matches[2];
  // or matches[0] seem to work also
2/使用regexp replace操作符从字符串中删除不需要的部分:

  s/SMP-([\S])+-[\S][\S][\S][\S]//$
或在javascript中:

  result = p.replace(/SMP-\S+-\S{4}/ '')

有两种方法可以满足您的要求:

1/匹配前后的所有内容,并将两个结果合并:

  ^(.*) SMP-([\S])+-[\S][\S][\S][\S] (.*)$
或者使用javascript

  matches = p.match(/^(.*)SMP-\S+-\S{4}(.*)$/);
  result = matches[1]+matches[2];
  // or matches[0] seem to work also
2/使用regexp replace操作符从字符串中删除不需要的部分:

  s/SMP-([\S])+-[\S][\S][\S][\S]//$
或在javascript中:

  result = p.replace(/SMP-\S+-\S{4}/ '')
s.match(/SMP-[^-\s]+-\s{4}/)[0]
s.match(/SMP-[^-\s]+-\s{4}/)[0]