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

如何编写符合特定规则的正则表达式:仅接受紧跟反斜杠的双引号

满足需求的正则表达式

根据你描述的规则,这里有一个可以精准匹配符合要求字符串的正则表达式:

^"(?:\\.|[^"\\])*"$

正则拆解与规则对应

我来逐个部分解释这个正则是如何满足你的两条规则的:

  • 规则1:仅接受紧跟在反斜杠后的双引号
    正则里的[^"\\]会排除任何未转义的双引号,只有通过\\.匹配的转义双引号(也就是\")才会被允许,完美对应这条规则。
  • 规则2:奇数个反斜杠时最后一个必须接字符
    这里的\\.要求每个反斜杠后面必须跟一个任意字符(可以是字母、字面量、特殊字符甚至空格),而[^"\\]又排除了单独的反斜杠。如果是偶数个反斜杠,它们会两两组成\\.(比如\\\\会被拆成\\和\\,每个都是合法的转义序列),也完全符合要求。

示例验证

我们用你给出的例子来验证:

应该匹配的内容

  • "\"":里面的\"被\\.匹配,整体符合要求
  • "\r":\r属于转义序列,被\\.匹配
  • "\ ":反斜杠后跟空格,属于\\.的匹配范围
  • "\\\\":两个连续的\\,各自被\\.匹配
  • "\\\cloud":三个反斜杠的最后一个紧跟c,符合规则2
  • "\\\ ":三个反斜杠的最后一个紧跟空格,符合规则2
  • "clo$d":无反斜杠和未转义引号,被[^"\\]*匹配
  • "cloud space":同上,完全符合要求

不应匹配的内容

  • """:中间的未转义双引号无法被匹配,正则不通过
  • "\:单独的反斜杠没有后续字符,无法被\\.或[^"\\]匹配
  • "\\\\"(实际指单个反斜杠结尾的字符串):结尾的反斜杠无后续字符,不符合规则2,正则不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:01:58