You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,121 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="RegexCapture.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Capture is just a location/length pair that indicates the
|
||||
// location of a regular expression match. A single regexp
|
||||
// search may return multiple Capture within each capturing
|
||||
// RegexGroup.
|
||||
|
||||
namespace System.Text.RegularExpressions {
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Represents the results from a single subexpression capture. The object represents
|
||||
/// one substring for a single successful capture.</para>
|
||||
/// </devdoc>
|
||||
#if !SILVERLIGHT
|
||||
[ Serializable() ]
|
||||
#endif
|
||||
public class Capture {
|
||||
internal String _text;
|
||||
internal int _index;
|
||||
internal int _length;
|
||||
|
||||
internal Capture(String text, int i, int l) {
|
||||
_text = text;
|
||||
_index = i;
|
||||
_length = l;
|
||||
}
|
||||
|
||||
/*
|
||||
* The index of the beginning of the matched capture
|
||||
*/
|
||||
/// <devdoc>
|
||||
/// <para>Returns the position in the original string where the first character of
|
||||
/// captured substring was found.</para>
|
||||
/// </devdoc>
|
||||
public int Index {
|
||||
get {
|
||||
return _index;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* The length of the matched capture
|
||||
*/
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Returns the length of the captured substring.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
public int Length {
|
||||
get {
|
||||
return _length;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>[To be supplied.]</para>
|
||||
/// </devdoc>
|
||||
public string Value {
|
||||
get {
|
||||
return _text.Substring(_index, _length);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* The capture as a string
|
||||
*/
|
||||
/// <devdoc>
|
||||
/// <para>
|
||||
/// Returns
|
||||
/// the substring that was matched.
|
||||
/// </para>
|
||||
/// </devdoc>
|
||||
override public String ToString() {
|
||||
return Value;
|
||||
}
|
||||
|
||||
/*
|
||||
* The original string
|
||||
*/
|
||||
internal String GetOriginalString() {
|
||||
return _text;
|
||||
}
|
||||
|
||||
/*
|
||||
* The substring to the left of the capture
|
||||
*/
|
||||
internal String GetLeftSubstring() {
|
||||
return _text.Substring(0, _index);
|
||||
}
|
||||
|
||||
/*
|
||||
* The substring to the right of the capture
|
||||
*/
|
||||
internal String GetRightSubstring() {
|
||||
return _text.Substring(_index + _length, _text.Length - _index - _length);
|
||||
}
|
||||
|
||||
#if DBG
|
||||
internal virtual String Description() {
|
||||
StringBuilder Sb = new StringBuilder();
|
||||
|
||||
Sb.Append("(I = ");
|
||||
Sb.Append(_index);
|
||||
Sb.Append(", L = ");
|
||||
Sb.Append(_length);
|
||||
Sb.Append("): ");
|
||||
Sb.Append(_text, _index, _length);
|
||||
|
||||
return Sb.ToString();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user