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 に答える