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

时间:2015-09-01 19:41:42

标签: c# regex

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

我有一个字符串,如:

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

现在我需要编写一个正则表达式,只选择不在双引号中的结束花括号

到目前为止,我试过这个:

    "(^(\"[^\"]*\")(}))+"
  • ^(\" [^ \"] * \"):我想忽略双引号内的任何子串,AND
  • (}):我想采取}
  • +:至少发生一次。

但似乎我做错了。请问任何人请指导我解决我做错的地方吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

Regex live here.