文字列の解析で問題が発生したため、正規表現で解決したいと考えています。常に入力として、次のような文字列を取得します: %function_name%(IN: param1, ..., paramN; OUT: param1,..., paramN)
私はパターンを書いています:
string pattern = @"[A-za-z][A-za-z0-9]*\(IN:\s*(([A-za-z][A-za-z0-9](,|;))+|;)\s*OUT:(\s*[A-za-z][A-za-z0-9],?)*\)";
このパターンは入力文字列を検出しましたが、実際には出力として文字列の 2 つの配列が必要です。このうちの 1 つには INPUT パラメータ (「IN:」の後) が含まれIN: param1, ..., paramN
ている必要があり、2 番目の配列には出力パラメータの名前が含まれている必要があります。Params には数字と「_」を含めることができます。
実際の入力文字列の例:
Add_func(IN: port_0, in_port_1; OUT: out_port99)
Some_func(IN:;OUT: abc_P1)
Some_func2(IN: 入力ポートA;OUT:)
正しいパターンの作り方を教えてください。