//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
// 
using System;
using System.Text.RegularExpressions;

namespace Samples {
    public class RegExMatcherMulti {
        public static void Main(String[] args){
            Regex digitregex = new Regex("(?<number>\\d+)");
            String s = "abc 123 def 456 ghi 789";

            if ( args.Length > 0 ) {
                s = String.Join(" ", args);
            }

            MatchCollection mc = digitregex.Matches(s);

            if ( mc.Count > 0 ) {
                System.Console.WriteLine("Cyfry:");
                foreach (Match m in mc) {
                    System.Console.WriteLine("  " + m.Value);
                }
            } else {
                System.Console.WriteLine("[" + s + "] nie zawiera liczb.");
            }

            System.Console.WriteLine();
            System.Console.WriteLine("Wciśnij Enter, aby kontynuować...");
            System.Console.ReadLine();
        }
    }
}