You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript正则如何获取-和空格之后的所有内容?

解决JavaScript正则提取“- 和空格”后内容的问题

嘿,我明白你的需求啦——要从字符串里精准提取出“- (减号加空格)”之后的所有内容,之前用(-\s).+的问题在于它把前面的- 也包含在匹配结果里了对吧?别急,给你两种简单有效的解决方案:

方案1:使用正向预查(Lookbehind)

JS支持正向预查断言,它能帮我们“跳过”前面的- ,直接匹配后面的内容,正则表达式如下:

/(?<=- ).+/
  • (?<=- ):这是正向预查,意思是“当前位置的前面必须是- (减号加空格)”,但这个部分不会被包含在最终的匹配结果里
  • .+:匹配后面所有非换行的字符

代码示例:

const inputStr = "ABC - MMM";
const matchedResult = inputStr.match(/(?<=- ).+/)[0];
console.log(matchedResult); // 输出:MMM

方案2:使用捕获组

如果你的环境对正向预查支持有限(不过现代浏览器和Node.js都支持啦),可以用捕获组来提取目标内容,正则表达式:

/-\s(.+)/
  • -\s:匹配- (减号加空格)
  • (.+):把后面的内容捕获到第一个分组里

代码示例:

const inputStr = "ABC - MMM";
const matchArray = inputStr.match(/-\s(.+)/);
const targetContent = matchArray[1]; // 取第一个捕获组的内容
console.log(targetContent); // 输出:MMM

额外优化:兼容多个空格的情况

如果字符串里减号后面可能有多个空格(比如ABC - MMM),可以把正则里的\s改成\s+,匹配一个或多个空格:

  • 正向预查版:/(?<=- \s+).+/
  • 捕获组版:/-\s+(.+)/

这样不管减号后面是1个还是多个空格,都能准确提取后面的内容~

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:19:32