Regexで入力から関数名とパラメータを取得しようとしています。今は関数名を得ることができますが、カンマ区切りであり、時にはに先頭の空白があるため、パラメータで失敗します。 (めちゃくちゃ)入力のカンマ区切りの関数パラメータから白い空白を削除します。
例:私は常に先頭の空白を持つパラメータを取得することができるよ、次の正規表現で
Function001(param1, param2,param3,param4, param5);
Function002(param1,param2, param3);
...
((?<=\(|,).+?(?=,|\);))
すなわち
param1
_param2
param3
パラメータを取得するための単純な正規表現はありますが、空白はありませんか? 可能であれば、入力を処理して処理する前に、入力をトリミングしたくありません。与えられた任意の誤解を相殺する
編集
がある上、上記のような多くの文字列:
Function001(param1, param2,param3,param4, param5);
Function002(param1,param2, param3);
は、今私はFunctionNameはのために1正規表現をしたい(その1、そのためにそう何Codeexampleに動作しません) 1つはパラメータ用です。最高は
だから私は任意のパラメータを取得し、それらを処理することができます。可能であれば、私はトリム/置換/等を使いたくありません。だから、私の望むOutputは、どんなパラメータでもマッチしますが、マッチしたスペースはありません。
出力:
のparam1
PARAM2
param3
...
Aパラメータは、「単純な文字列だけでなく、
Function(param = value, param2,param3, param4 = value2);
あなたは空白をどのように定義されますか?スペース、改行、改行、タブなど? – MikeT
スペースだけです。複数のスペースが可能かもしれません – Fresch
文字列の処理方法の代わりに正規表現を使用して文字列からトリミングスペースを読み取る方法をStackOverflowダウンしましたか?あなたが非常に良い理由がない限り、より速く実行される明確なコードは通常良いです。 –