【发布时间】:2012-02-03 12:28:39
【问题描述】:
感谢收看,
我很难为这个正则表达式问题找到正确的搜索词。我需要确保引号已经在字符串中转义,否则匹配会失败。 (此类问题的大多数搜索结果只是说明您需要转义引号或如何转义引号的页面。)
有效:
This is valid
This \"is Valid
This is al\"so Valid\"
无效:
This i"s invalid
This i"s inv"alid
到目前为止,我唯一能找到的是
((?:\\"|[^"])*)
这似乎与下面的第一部分相匹配,但转义引号后没有任何内容
This is a \"test
同样,这应该失败:
This is a \"test of " the emergency broadcast system
感谢您的帮助,我希望这是可能的。
【问题讨论】:
-
+1,有趣的问题,REs 实际上似乎是正确的工具。
-
@JosephSilber 我实际上没有使用语言,这个正则表达式将进入 CMS 中使用的正则表达式字段,需要用户输入来匹配它:)
-
没有
not using a language这样的东西。 CMS 使用什么语言? -
需要注意的陷阱之一是
a\\"b、a\\\\"b无效,但a\\\"b和a\\\\\"b有效。这是因为前两个示例中引号前面的偶数个反斜杠被绑定为转义,即使引号前面有一个反斜杠,引号也不会转义,而后两个示例中引号前面的奇数个反斜杠是可以的因为偶数个反斜杠引用反斜杠,奇数反斜杠转义引号。 -
非常感谢大家的帮助!
标签: regex