0
([0-9\*\+-/]+?)([\+-\*/])\?\{((?:(\?\{.*?\}))|(.*?))\}

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

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)
                             ^

我想用 ^ 标记的字符分割这个表达式

关于如何实现这一点的任何想法,我仍然是正则表达式的菜鸟。

提前致谢

注意:这部分:([0-9\*\+-/]+?)([\+-\*/])正则表达式尚未测试。但是,如果不是,我可以让它工作。但是我真正想知道的是如何拆分字符串。谢谢

4

1 回答 1

0

您应该使用Regex.Split 方法

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"; 
}
于 2012-09-03T20:29:33.983 回答