正则表达式中的C#字符串模式

时间:2015-08-02 11:15:08

标签: c# regex

正则表达式中C#字符串的模式是什么?我的意思是某些模式匹配Visual Studio识别为string

的任何内容

这种模式是我尝试过的,但它在所有情况下都不起作用:

"[A-z0-9\\+;"]+"

(当然这不完整,还有更多的字符应该包括在内,但即使在这里它也无法正常工作)

它适用于这样的文字:"kla\"+;s"但在这种情况下:"a\"b + c"它只匹配"a\"

实际上我有更多的睾丸,但没有一个成功。

首先,我想到了这种模式:".*"在这样的场景中无法正常工作:"a\"+;b" + "a\"b + c"实际上不是字符串,而是两个单独的字符串和一个加号操作

1 个答案:

答案 0 :(得分:3)

匹配所有双引号块。

@"(?<!\\)"".*?(?<!\\)"""

DEMO

<强>解释

  • (?<!\\)"负面后卫,断言匹配"前面不能有反斜杠。在C#中,double ""表示单个双引号。另一个"仅用于逃避目的。因此,这可以确保起始双引号不能是转义双引号。

  • .*?非贪婪的模式,非贪婪地匹配所有字符,直到

  • (?<!\\)"找到未转义的双引号。