C# 正则表达式或拆分逻辑,用于在C中的大括号之间创建文本数组
我有一些字符串,需要提取大括号之间的文本,并将它们指定给字符串数组 其中一个字符串的示例为:C# 正则表达式或拆分逻辑,用于在C中的大括号之间创建文本数组,c#,regex,string,C#,Regex,String,我有一些字符串,需要提取大括号之间的文本,并将它们指定给字符串数组 其中一个字符串的示例为: select * from cable where exchange like '%{Enter Exchange:}%' and Type like '%{Enter Type:}%' 基于此示例,我希望提取Enter Exchange:并输入类型: 注意:这是一个只有两组{}的示例。可能会有更多或更少 这可能很简单,但我对正则表达式不是很熟悉,我很难将字符串拆分。如果其他地方有类似问题的链接,我很
select * from cable where exchange like '%{Enter Exchange:}%' and Type like '%{Enter Type:}%'
基于此示例,我希望提取Enter Exchange:并输入类型:
注意:这是一个只有两组{}的示例。可能会有更多或更少
这可能很简单,但我对正则表达式不是很熟悉,我很难将字符串拆分。如果其他地方有类似问题的链接,我很乐意查看
谢谢。此正则表达式将匹配{word}模式
\{.+?\}此正则表达式将匹配{word}模式
\{.+?\}此正则表达式将匹配{word}模式
\{.+?\}此正则表达式将匹配{word}模式
\{.+?\}您应该添加\:在尾端,Regex re=new Regex@{.+?\}?您应该添加\:在尾端,Regex re=new Regex@{.+?\}?您应该添加\:在尾端,Regex re=new Regex@{.+?\}?您应该添加\:在尾端,Regex re=new Regex@{.+?\}?
[TestMethod]
public void TestRegex()
{
var input = "select * from cable where exchange like " +
"'%{Enter Exchange:}%' and Type like '%{Enter Type:}%'";
var result = Regex.Matches(input, @"%\{(.+?)\}%")
.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToArray();
result.Should().HaveCount(2);
result.Should().Contain("Enter Exchange:");
result.Should().Contain("Enter Type:");
}