使用正则表达式查找不在双引号中的字符

本文关键字:字符 正则表达式 查找 | 更新日期: 2023-09-27 18:10:55

我是写正则表达式的新手,我有以下场景。

我有一个字符串,比如:

  string line = "if (true){var data = string.Format('"something {0} {1}.'", '"is'", '"wrong'");}";

现在我需要写一个正则表达式它只选择不在双引号

中的右花括号

到目前为止,我尝试了这个:

    "(^('"[^'"]*'")(}))+"
  • ^('"[^'"]*'"):我要忽略双引号内的任何子字符串,AND
  • (}): I want take}
  • +:至少发生一次。

但似乎我做错了什么。谁能告诉我我哪里做错了吗?

谢谢。

使用正则表达式查找不在双引号中的字符

你只需要你的正则表达式的这些部分:

(?:'"[^'"]*'")|(})