Javascript 从正则表达式中删除子正则表达式查询
我有一个字符串,其中包含特定序列“SMP未知字符数-4个字符”。除了正则表达式之外,我必须从字符串中选择所有内容。目前我可以选择要排除的子字符串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-([\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]
?