.net 要匹配字符串的正则表达式模式
我正在寻找一个正则表达式模式,将匹配字符串。字符串,定义为引号中的任何内容。我要做的是解析这些字符串:.net 要匹配字符串的正则表达式模式,.net,regex,pattern-matching,.net,Regex,Pattern Matching,我正在寻找一个正则表达式模式,将匹配字符串。字符串,定义为引号中的任何内容。我要做的是解析这些字符串: PRINT "test" PRINT "Hello":PRINT "World" 我现在的模式是:“\”*\”。它可以很好地解析第一行。它返回/“test/,但第二行返回/“Hello”:PRINT“World/,这是不正确的。它需要匹配第一个引号和第二个引号之间的内容。它似乎匹配整行中第一个引号和最后一个引号之间的任何内容 任何帮助都将不胜感激。如果重要的话,这是.NET正则表达式 您的问
PRINT "test"
PRINT "Hello":PRINT "World"
我现在的模式是:“\”*\”。它可以很好地解析第一行。它返回/“test/,但第二行返回/“Hello”:PRINT“World/,这是不正确的。它需要匹配第一个引号和第二个引号之间的内容。它似乎匹配整行中第一个引号和最后一个引号之间的任何内容
任何帮助都将不胜感激。如果重要的话,这是.NET正则表达式 您的问题是,正则表达式在默认情况下是贪婪的,这意味着它们将获取尽可能长的匹配字符串。。您的正则表达式的非贪婪版本是:
"\"[^"]+?\"
我使用+而不是*假设您只想匹配非空字符串。您的问题是,正则表达式在默认情况下是贪婪的,这意味着它们将选择最长的匹配字符串。。您的正则表达式的非贪婪版本是:
"\"[^"]+?\"
"[^"]*"
我使用+而不是*假设您只想匹配非空字符串
"[^"]*"
另请参阅
另请参见。此图案效果很好。谢谢你的帮助,谢谢你对正则表达式的贪婪/不贪婪规则。@ice:不客气。顺便说一句,我认为@JohnWeldon也值得投票。@Tomalak,我感谢你的点头:),正确的问题得到了我的接受:)这种模式很有魅力。谢谢你的帮助,谢谢你对正则表达式的贪婪/不贪婪规则。@ice:不客气。顺便说一句,我认为@JohnWeldon也值得投票。@Tomalak,我感谢你的点头:),正确的问题被我接受了:)