RegEx Pattern匹配字符串

Ice*_*ind 1 .net regex pattern-matching

我正在寻找一个匹配字符串的正则表达式模式.一个字符串,定义为引号中的任何内容.我要做的是解析这些字符串:

PRINT "test"
PRINT "Hello":PRINT "World"
Run Code Online (Sandbox Code Playgroud)

我现在的模式是:"\".*\"".它解析第一行很好.它返回/"test"/,但是第二行,它返回/"Hello":PRINT"World"/这是不正确的.它需要匹配第一个引号和第二个引号之间的内容.它似乎匹配整行中第一个引号和最后一个引号之间的任何内容.

任何帮助,将不胜感激.如果重要,那就是.NET Regex.

Tom*_*lak 5

"[^"]*"

.*是贪婪.它匹配到字符串末尾的权利,因为没有任何东西告诉它在任何中间停止".这[^"]*也是贪婪的 - 但不是随意的.

或者使用非贪婪匹配

".*?"

另请参阅量词MSDN.