C# 用正则表达式解析代码

C# 用正则表达式解析代码,c#,regex,text-parsing,C#,Regex,Text Parsing,我有这样一个文本/代码: fsa sda ${kpp dsa } } sadf ${44} sda } fd sda sd fdas ${ads} 我想构建一个正则表达式,它将查找所有出现的${soemthing}。根据上述代码,匹配项为: ${kpp dsa } }, ${44} sda }, ${ads} 我已经设法想出了这个正则表达式“\$\s*{.*?}+”,但不幸的是,它并没有做到这一点,我想不出有什么效果。你能帮我一下吗?你正在描述一种非正则语言,但你正在尝试使用正则表达式。

我有这样一个文本/代码:

fsa sda ${kpp dsa } } sadf ${44} sda } fd sda  sd fdas ${ads}
我想构建一个正则表达式,它将查找所有出现的${soemthing}。根据上述代码,匹配项为:

${kpp dsa } }, ${44} sda }, ${ads}

我已经设法想出了这个正则表达式“\$\s*{.*?}+”,但不幸的是,它并没有做到这一点,我想不出有什么效果。你能帮我一下吗?

你正在描述一种非正则语言,但你正在尝试使用正则表达式。 最好为此创建一个解析器


另外,为了回答您的主要问题:
{
}
字符在正则表达式中有不同的含义,您应该使用反斜杠对它们进行转义

您可能希望使用专门用于解析的东西,而不是正则表达式。您使用什么编程语言?我使用c#,但基于其他两个答案,我用什么语言没什么区别,事实上是的。因为不是所有的正则表达式风格都支持所有现有的特性,所以可以编写一个适用于单个测试用例的正则表达式。但是如果没有详细的规范,就不可能编写一个能够正确提取事件的正则表达式。