I次の文字列があります:私はいくつかの例を試してみた正規表現は、機能を解析し、パラメータに
function
param1
param2
param3
param4
.
.
.
paramN
:
function(param1, param2, param3, param4, ..., paramN)
が、私は文字列の配列としてそれを解析する正規表現のコードを必要としますネットは、しかし私のために働くようには思われません。
[編集]
この提案は推奨されていません。上記のコードをチェックしてください:
はusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace TestRegex
{
class Program
{
static void Main(string[] args)
{
string Expression = String.Empty;
while (Expression.Trim() != "EXIT")
{
Expression = Console.ReadLine();
///
/// Get function name
///
var funcTags = Regex.Matches(Expression, @"b[^()]+\((.*)\)$");
Console.WriteLine("Matches: " + funcTags.Count);
foreach (var item in funcTags)
Console.WriteLine("FuncTag: " + item);
///
/// Get parameters
///
var paramTags = Regex.Matches(Expression, @"\b[^()]+\((.*)\)$");
Console.WriteLine("Matches: " + paramTags.Count);
foreach (var item in paramTags)
Console.WriteLine("ParamTag: " + item);
}
}
}
}
出力:
function("a", "b", "c");
Matches: 0
Matches: 0
何かがここで間違っている...助けに感謝。
機能が複合体を得ることはありません。 Paramsは単一の文字列です。私はMVCを使用しています。 – Mendes
@Mendex、その場合は単純な正規表現があなたのために働くでしょう。だから私はリンクされている質問の正規表現は:http://stackoverflow.com/questions/18906514/regex-for-matching-functions-and-capturing-their-arguments/18908330#18908330 – acarlon