C# 正则表达式由一个特定字符拆分,该字符可能在c中字符串的其他位置找到#

C# 正则表达式由一个特定字符拆分,该字符可能在c中字符串的其他位置找到#,c#,regex,string,split,string-matching,C#,Regex,String,Split,String Matching,我使用上述模式来检测表单的模式: ([0-9\*\+-/]+?)([\+-\*/])\?\{((?:(\?\{.*?\}))|(.*?))\} 5+(6/2)+{5>2、{2=4 | 52、{2=4 | 5您应该使用作为: string input=“?{5>2,{2=4 | 5那么,检测要拆分的字符的标准是什么?是在一个{…}之前还是在一个{…}@Jonny之后?你能给我们举个例子吗?你想把字符串拆分成两部分吗?嗯……就是这个例子:/。是的,分为两部分 5+(6/2)+?{5>2,?{

我使用上述模式来检测表单的模式:

([0-9\*\+-/]+?)([\+-\*/])\?\{((?:(\?\{.*?\}))|(.*?))\}
5+(6/2)+{5>2、{2=4 | 52、{2=4 | 5您应该使用作为:


string input=“?{5>2,{2=4 | 5那么,检测要拆分的字符的标准是什么?是在一个{…}之前还是在一个{…}@Jonny之后?你能给我们举个例子吗?你想把字符串拆分成两部分吗?嗯……就是这个例子:/。是的,分为两部分
5+(6/2)+?{5>2,?{2=4|5<6,5,5+6*2},10}}
       ^
?{5>2,?{2=4|5<6,5,5+6*2},10}}*5+(6/2)
                             ^
string input = "?{5>2,?{2=4|5<6,5,5+6*2},10}}*5+(6/2)";
string[] str;
string pattern = @"(\?{.*})";
str = Regex.Split(input, pattern);
richTextBox1.Text = "";
foreach (string s in str)
{
    richTextBox1.Text += s +"\n"; 
}