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

如何编写匹配除换行符 外所有控制字符的正则表达式?

匹配除换行符外所有控制字符的正则方案

当然可以实现!你已经掌握了匹配所有Unicode控制字符的核心正则/\p{Cc}/,接下来只要把换行符(U+000A)从这个集合里排除掉就好,不同正则引擎下有两种常用的写法:

1. 支持Unicode字符类交集的引擎(Java、PCRE、.NET等)

如果你用的是支持字符类交集语法的引擎,直接用交集规则精准排除换行符:

[\p{Cc}&&[^\n]]

这个表达式的逻辑很清晰:属于控制字符集合,同时不属于包含换行符的集合,完美命中你要的目标——所有控制字符,唯独排除\n。

2. 不支持交集语法的引擎(JavaScript等)

对于不支持交集的引擎,可以换个反向思路:匹配「既不是非控制字符,也不是换行符」的字符,写成:

[^\P{Cc}\n]

这里\P{Cc}是\p{Cc}的反向,表示所有非控制字符,整个字符类就等价于「控制字符 - 换行符」,效果和上面完全一致。

验证小提示

你可以用这些字符测试:

  • 会被匹配的:制表符\t、回车符\r、退格符\b等控制字符
  • 不会被匹配的:换行符\n、普通字母数字、符号等非控制字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:08:36