C# 如何使用Dotnet从以{和}为边界的大字符串中提取所有子字符串?
我有一个html文件,其中包含各种占位符,如{first},{second} 例如:C# 如何使用Dotnet从以{和}为边界的大字符串中提取所有子字符串?,c#,regex,C#,Regex,我有一个html文件,其中包含各种占位符,如{first},{second} 例如: <html> <body> The first name is {first}. Followed by {second} <body> </html> 名字是{first}。后跟{second} 我需要用c#来提取那些。 我试着使用正则表达式({[A-Za-z}.+)\w+,但失败了每个{}-封闭的子字符串可以描述为“1{,后面是一些非{/code>,后面
<html>
<body>
The first name is {first}. Followed by {second}
<body>
</html>
名字是{first}。后跟{second}
我需要用c#来提取那些。
我试着使用正则表达式({[A-Za-z}.+)\w+,但失败了每个
{}
-封闭的子字符串可以描述为“1{
,后面是一些非{/code>,后面是1}
”,在正则表达式中类似于:
\{[^{}]+\}
在这种情况下,我可以使用Regex r=new Regex(@“{[^{}]+\}”);MatchCollection mc=r.Matches(body);提取mc@“{.+?}”
中的所有匹配项-使用惰性量词此@“{.+?}”返回}之后的所有字符串,如{second}。。。。。