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

是否存在无需修改即可在C#中使用的匹配双引号的正则语法?

解决C#中带双引号正则的书写痛点

嘿,这个问题我太懂了——在C#里写包含双引号的正则表达式,要么转义到眼花,要么拼接得像面条,确实闹心!不过有个完美的解决方案,能同时兼顾正则引擎的语法和C#的字符串规则,还能让你的正则保持原有的可读性:

核心技巧:逐字字符串 + 双引号转义

C#的逐字字符串字面量(用@前缀标记)本身就不需要转义反斜杠,而里面的双引号只需要用两个连续的双引号""来表示即可。这样写出来的正则几乎和你原本想要的正则结构完全一致!

比如你给出的示例正则:

\s*"Hello"\s*"world"\s*

在C#里可以直接写成:

var pattern = @"\s*""Hello""\s*""world""\s*";

为什么这方法更好?

  • 可读性拉满:和原正则的结构几乎完全对应,二次开发时一眼就能看懂,不需要额外还原转义或拼接的逻辑
  • 不易出错:不用写一堆\\和\",只需要把原正则里的"替换成""就行,操作简单
  • 简洁高效:比拼接字符串的写法短太多,也避免了拆分字符串带来的混乱

对比原来的写法

你之前用的两种方法的问题:

  • 转义写法:"\\s*\"Hello\"\\s*\"world\"\\s*",里面的\\和\"很容易漏写或多写,排查错误麻烦
  • 拼接写法:@"\s*" + '"' + "Hello" + '"' + @"\s*" + '"' + "world" + '"' + @"\s*",字符串拆得太碎,可读性差,修改起来还要调整拼接部分

而用逐字字符串加双引号转义的写法,完美解决了这两个问题——既简洁又直观,还和原生正则语法高度匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 15:42:48