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

如何修改RegEx:匹配所有非空白字符且兼容普通空格?

好问题!我来帮你搞定这个正则调整的需求。你现在的[^\s]会匹配所有非空白字符,但它把你想保留的普通空格也一起排除了——毕竟\s包含了所有空白类型(空格、制表符、换行符、回车符等等)。要实现“匹配所有非空白字符 + 普通空格”的效果,有两种简洁的方案:

方案1:用正向字符集组合(最简洁)

直接把「非空白字符」和「普通空格」放进同一个字符集里:

[\S ]
  • \S 是 \s 的反向匹配,也就是所有非空白字符
  • 加上普通空格 ,整个字符集就会匹配:所有非空白字符 + 普通空格,自动排除其他空白类型(制表符、换行符等)

方案2:精确排除不需要的空白字符(更透明)

如果你想明确指定要排除哪些空白类型(避免依赖\S的隐含规则),可以直接把除了普通空格之外的空白字符列出来排除:

[^\t\n\r\f\v]
  • \t 制表符、\n 换行符、\r 回车符、\f 换页符、\v 垂直制表符,这些是\s包含的除了普通空格之外的所有空白类型
  • 这个正则的意思是:匹配所有不是上述空白字符的内容,自然就包含了普通空格和非空白字符

测试示例

假设你有字符串:Hello World\t\nFoo\rBar
用上面任意一个正则匹配,都会选中:H e l l o W o r l d F o o B a r(跳过了\t、\n、\r这些你不需要的空白)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 07:47:44