Silverlight 5 WinRT

public class Capture public class Capture
public Int32 Index { get; } public Int32 Index { get; }
public Int32 Length { get; } public Int32 Length { get; }
public String Value { get; } public String Value { get; }
public virtual String ToString(); public virtual String ToString();

public class CaptureCollection public class CaptureCollection
: ICollection, IEnumerable : ICollection, IEnumerable
public virtual Int32 Count { get; } public virtual Int32 Count { get; }
public Boolean IsReadOnly { get; } public Boolean IsReadOnly { get; }
public virtual Boolean IsSynchronized { get; } public virtual Boolean IsSynchronized { get; }
public Capture Item { get; } public Capture Item { get; }
public virtual Object SyncRoot { get; } public virtual Object SyncRoot { get; }
public virtual void CopyTo(Array array, Int32 arrayIndex); public virtual void CopyTo(Array array, Int32 arrayIndex);
public virtual IEnumerator GetEnumerator(); public virtual IEnumerator GetEnumerator();

public class Group public class Group
: Capture : Capture
public CaptureCollection Captures { get; } public CaptureCollection Captures { get; }
public Boolean Success { get; } public Boolean Success { get; }

public class GroupCollection public class GroupCollection
: ICollection, IEnumerable : ICollection, IEnumerable
public virtual Int32 Count { get; } public virtual Int32 Count { get; }
public Boolean IsReadOnly { get; } public Boolean IsReadOnly { get; }
public virtual Boolean IsSynchronized { get; } public virtual Boolean IsSynchronized { get; }
public Group Item { get; } public Group Item { get; }
public Group Item { get; } public Group Item { get; }
public virtual Object SyncRoot { get; } public virtual Object SyncRoot { get; }
public virtual void CopyTo(Array array, Int32 arrayIndex); public virtual void CopyTo(Array array, Int32 arrayIndex);
public virtual IEnumerator GetEnumerator(); public virtual IEnumerator GetEnumerator();

public class Match public class Match
: Group : Group
static public Match Empty { get; } static public Match Empty { get; }
public virtual GroupCollection Groups { get; } public virtual GroupCollection Groups { get; }
public Match NextMatch(); public Match NextMatch();
public virtual String Result(String replacement); public virtual String Result(String replacement);

public class MatchCollection public class MatchCollection
: ICollection, IEnumerable : ICollection, IEnumerable
public virtual Int32 Count { get; } public virtual Int32 Count { get; }
public Boolean IsReadOnly { get; } public Boolean IsReadOnly { get; }
public virtual Boolean IsSynchronized { get; } public virtual Boolean IsSynchronized { get; }
public virtual Match Item { get; } public virtual Match Item { get; }
public virtual Object SyncRoot { get; } public virtual Object SyncRoot { get; }
public virtual void CopyTo(Array array, Int32 arrayIndex); public virtual void CopyTo(Array array, Int32 arrayIndex);
public virtual IEnumerator GetEnumerator(); public virtual IEnumerator GetEnumerator();

public sealed class MatchEvaluator public sealed class MatchEvaluator
: MulticastDelegate, ICloneable : MulticastDelegate, ICloneable, ISerializable
public virtual IAsyncResult BeginInvoke(Match match, AsyncCallback callback, Object object); public virtual IAsyncResult BeginInvoke(Match match, AsyncCallback callback, Object object);
public virtual String EndInvoke(IAsyncResult result); public virtual String EndInvoke(IAsyncResult result);
public virtual String Invoke(Match match); public virtual String Invoke(Match match);

public class Regex public class Regex
: ISerializable
static public Int32 CacheSize { get; set; } static public Int32 CacheSize { get; set; }
  public TimeSpan MatchTimeout { get; }
public RegexOptions Options { get; } public RegexOptions Options { get; }
public Boolean RightToLeft { get; } public Boolean RightToLeft { get; }
  static public void CompileToAssembly(RegexCompilationInfo regexinfos, AssemblyName assemblyname);
  static public void CompileToAssembly(RegexCompilationInfo regexinfos, AssemblyName assemblyname, CustomAttributeBuilder[] attributes);
  static public void CompileToAssembly(RegexCompilationInfo regexinfos, AssemblyName assemblyname, CustomAttributeBuilder[] attributes, String resourceFile);
static public String Escape(String str); static public String Escape(String str);
public String GetGroupNames(); public String GetGroupNames();
public Int32 GetGroupNumbers(); public Int32 GetGroupNumbers();
public String GroupNameFromNumber(Int32 i); public String GroupNameFromNumber(Int32 i);
public Int32 GroupNumberFromName(String name); public Int32 GroupNumberFromName(String name);
  protected void InitializeReferences();
static public Boolean IsMatch(String input, String pattern); static public Boolean IsMatch(String input, String pattern);
static public Boolean IsMatch(String input, String pattern, RegexOptions options); static public Boolean IsMatch(String input, String pattern, RegexOptions options);
  static public Boolean IsMatch(String input, String pattern, RegexOptions options, TimeSpan matchTimeout);
public Boolean IsMatch(String input); public Boolean IsMatch(String input);
public Boolean IsMatch(String input, Int32 startat); public Boolean IsMatch(String input, Int32 startat);
static public Match Match(String input, String pattern); static public Match Match(String input, String pattern);
static public Match Match(String input, String pattern, RegexOptions options); static public Match Match(String input, String pattern, RegexOptions options);
  static public Match Match(String input, String pattern, RegexOptions options, TimeSpan matchTimeout);
public Match Match(String input); public Match Match(String input);
public Match Match(String input, Int32 startat); public Match Match(String input, Int32 startat);
public Match Match(String input, Int32 beginning, Int32 length); public Match Match(String input, Int32 beginning, Int32 length);
static public MatchCollection Matches(String input, String pattern); static public MatchCollection Matches(String input, String pattern);
static public MatchCollection Matches(String input, String pattern, RegexOptions options); static public MatchCollection Matches(String input, String pattern, RegexOptions options);
  static public MatchCollection Matches(String input, String pattern, RegexOptions options, TimeSpan matchTimeout);
public MatchCollection Matches(String input); public MatchCollection Matches(String input);
public MatchCollection Matches(String input, Int32 startat); public MatchCollection Matches(String input, Int32 startat);
static public String Replace(String input, String pattern, String replacement); static public String Replace(String input, String pattern, String replacement);
static public String Replace(String input, String pattern, String replacement, RegexOptions options); static public String Replace(String input, String pattern, String replacement, RegexOptions options);
  static public String Replace(String input, String pattern, String replacement, RegexOptions options, TimeSpan matchTimeout);
public String Replace(String input, String replacement); public String Replace(String input, String replacement);
public String Replace(String input, String replacement, Int32 count); public String Replace(String input, String replacement, Int32 count);
public String Replace(String input, String replacement, Int32 count, Int32 startat); public String Replace(String input, String replacement, Int32 count, Int32 startat);
static public String Replace(String input, String pattern, MatchEvaluator evaluator); static public String Replace(String input, String pattern, MatchEvaluator evaluator);
static public String Replace(String input, String pattern, MatchEvaluator evaluator, RegexOptions options); static public String Replace(String input, String pattern, MatchEvaluator evaluator, RegexOptions options);
  static public String Replace(String input, String pattern, MatchEvaluator evaluator, RegexOptions options, TimeSpan matchTimeout);
public String Replace(String input, MatchEvaluator evaluator); public String Replace(String input, MatchEvaluator evaluator);
public String Replace(String input, MatchEvaluator evaluator, Int32 count); public String Replace(String input, MatchEvaluator evaluator, Int32 count);
public String Replace(String input, MatchEvaluator evaluator, Int32 count, Int32 startat); public String Replace(String input, MatchEvaluator evaluator, Int32 count, Int32 startat);
static public String Split(String input, String pattern); static public String Split(String input, String pattern);
static public String Split(String input, String pattern, RegexOptions options); static public String Split(String input, String pattern, RegexOptions options);
  static public String Split(String input, String pattern, RegexOptions options, TimeSpan matchTimeout);
public String Split(String input); public String Split(String input);
public String Split(String input, Int32 count); public String Split(String input, Int32 count);
public String Split(String input, Int32 count, Int32 startat); public String Split(String input, Int32 count, Int32 startat);
public virtual String ToString(); public virtual String ToString();
static public String Unescape(String str); static public String Unescape(String str);
  protected Boolean UseOptionC();
  protected Boolean UseOptionR();

  public class RegexCompilationInfo
 
  public Boolean IsPublic { get; set; }
  public TimeSpan MatchTimeout { get; set; }
  public String Name { get; set; }
  public String Namespace { get; set; }
  public RegexOptions Options { get; set; }
  public String Pattern { get; set; }

  public class RegexMatchTimeoutException
  : TimeoutException, ISerializable, _Exception
  public String Input { get; }
  public TimeSpan MatchTimeout { get; }
  public String Pattern { get; }

public sealed enum RegexOptions public sealed enum RegexOptions
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ None, IgnoreCase, Multiline, ExplicitCapture, Singleline, IgnorePatternWhitespace, RightToLeft, ECMAScript, CultureInvariant } { None, IgnoreCase, Multiline, ExplicitCapture, Compiled, Singleline, IgnorePatternWhitespace, RightToLeft, ECMAScript, CultureInvariant }

  public abstract class RegexRunner
 
  protected void Capture(Int32 capnum, Int32 start, Int32 end);
  static protected Boolean CharInClass(Char ch, String charClass);
  static protected Boolean CharInSet(Char ch, String set, String category);
  protected void CheckTimeout();
  protected void Crawl(Int32 i);
  protected Int32 Crawlpos();
  protected void DoubleCrawl();
  protected void DoubleStack();
  protected void DoubleTrack();
  protected void EnsureStorage();
  protected abstract virtual Boolean FindFirstChar();
  protected abstract virtual void Go();
  protected abstract virtual void InitTrackCount();
  protected Boolean IsBoundary(Int32 index, Int32 startpos, Int32 endpos);
  protected Boolean IsECMABoundary(Int32 index, Int32 startpos, Int32 endpos);
  protected Boolean IsMatched(Int32 cap);
  protected Int32 MatchIndex(Int32 cap);
  protected Int32 MatchLength(Int32 cap);
  protected Int32 Popcrawl();
  internal protected Match Scan(Regex regex, String text, Int32 textbeg, Int32 textend, Int32 textstart, Int32 prevlen, Boolean quick);
  internal protected Match Scan(Regex regex, String text, Int32 textbeg, Int32 textend, Int32 textstart, Int32 prevlen, Boolean quick, TimeSpan timeout);
  protected void TransferCapture(Int32 capnum, Int32 uncapnum, Int32 start, Int32 end);
  protected void Uncapture();

  public abstract class RegexRunnerFactory
 
  internal protected abstract virtual RegexRunner CreateInstance();