2012-02-08 12 views
1

私はこれに固執しています。 私は何ができる最高は明らかにそのない=(.*\w,)[^\D+=]でしたが、20正規表現分割:パターンのヘルプが必要

、私は18,19のリストを取得するように指定した文字列を分割する必要が

18=abcd1, 19=jghrt23, 20=outut 

のような文字列を持っています

注:string.splitを「、」、「=」で簡単に使用できますが、正規表現を使用してそれを学ぶことができます。 私は使用したいRegex.Split

答えて

3

私はSplitがこの仕事には適していないと思う。

用途:

var result = Regex.Matches(input, @"\d+(?==)").Cast<Match>().Select(s => s.Value); 
+0

これは私が望むものとは反対のものです。結果はabcd1、jghrt23、oututであり、18,19,20ではありません。 – Anand

+0

@Anand、私は自分の答えを更新しました。 –

+0

ありがとう、それは働いた。私は魔法だと思う?= :) – Anand

0

あなたが1つの正規表現、または少なくともあなたは、個々のグループを取得することはできませんとために求めているものを行うことはできません私の知る限り。あなたが他の要素を処理するためにどこかに残っている文字列を格納する必要があります。このために正規表現^(\d+=\w*),(.*)$で、たとえば、

  1. は、次のカンマで区切られた要素を取得します:あなたは、2つの手順を使用することができます。
  2. ^(\d+)=\w+$で1つの要素から数値を抽出し、どこかに格納します。

PS:私は=の後に英数字のみを入力したと仮定しています。