【问题标题】:remove a sub regex query from a regex从正则表达式中删除子正则表达式查询
【发布时间】:2019-08-20 10:47:03
【问题描述】:

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

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

我必须从字符串中选择除了提到的正则表达式之外的所有内容。

测试字符串:

"testing updated regex: SMP-werdgs-2903 testm"

【问题讨论】:

  • s.match(/SMP-[^-\s]+-\S{4}/)[0]?

标签: javascript regex regex-negation


【解决方案1】:

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

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/ 使用正则表达式替换运算符从字符串中删除不需要的部分:

  s/SMP-([\S])+-[\S][\S][\S][\S]//$

或在 javascript 中:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多