首页 > 解决方案 > RegExp to extract values from a string within quotes

问题描述

I'm trying to find a way to extract parameters that are within quotes from a string.

The goal is to take an expression like:

function1("var1","var2","var3","function2("func2Var1","func2Var2"))

And extract the variables:

var1
var2
var3
function2("func2Var1","func2Var2")

标签: c#regex

解决方案


你可以做很多事情。首先,我建议您从以下链接下载并安装“Expresso”,它是一个免费的应用程序“registerware”。它是正则表达式的测试平台(不依赖于 .NET,而是一个 .net 应用程序),允许您在类似 ide 的环境中创建和测试正则表达式。它也有教程。

用于测试的默认表达式是获取由斜线分隔的日期组件。

你可以这样开始: (?([a-zA-Z]\w*)\s+)+(?([a-zA-Z]\w*)+)\s*((?(\ "(?[^"]+)\"),\s*)+(\"(?[^"]+)\")\s*)

但是,您不应该尝试像您的项目 4 嵌套引用样式那样解析,因为对于计算机来说,何时开始或停止是很难知道的。

但是,对于这种项目,我会推荐一个最适合编译器的状态机。


推荐阅读