我有一个字符串,其中包含某些序列“SMP-unknown number of characters-4 characters”。除了正则表达式之外,我必须从字符串中选择所有内容。目前我能够选择要排除的子串。
(SMP-([\S])+-[\S][\S][\S][\S])
我必须从字符串中选择除了提到的正则表达式之外的所有内容。
测试字符串:
"testing updated regex: 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}/ '')