Match() private méthode

private Match ( RubyRegex pattern, bool currentPositionOnly, bool advancePosition ) : bool
pattern RubyRegex
currentPositionOnly bool
advancePosition bool
Résultat bool
Exemple #1
0
 public static int?Match(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern)
 {
     if (!self.Match(pattern, true, false))
     {
         return(null);
     }
     return(self.LastMatch.GetLength());
 }
Exemple #2
0
 public static int?Exist(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern)
 {
     if (!self.Match(pattern, false, false))
     {
         return(null);
     }
     return(self.FoundPosition + self.LastMatch.Length);
 }
Exemple #3
0
        public static int?SkipUntil(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern)
        {
            bool match = self.Match(pattern, false, true);

            if (!match)
            {
                return(null);
            }
            return(self.CurrentPosition - self.PreviousPosition);
        }
Exemple #4
0
        public static object ScanFull(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern, bool advancePointer, bool returnString)
        {
            bool match = self.Match(pattern, true, advancePointer);

            if (match)
            {
                if (returnString)
                {
                    return(MutableString.Create(self.LastMatch));
                }
                else
                {
                    return(ScriptingRuntimeHelpers.Int32ToObject(self.LastMatch.Length));
                }
            }
            return(null);
        }
Exemple #5
0
        public static object SearchFull(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern, bool advancePointer, bool returnString)
        {
            bool match = self.Match(pattern, false, advancePointer);

            if (match)
            {
                int length = self.LastMatch.Length + (self.FoundPosition - self.PreviousPosition);
                if (returnString)
                {
                    return(self.ScanString.GetSlice(self.PreviousPosition, length));
                }
                else
                {
                    return(ScriptingRuntimeHelpers.Int32ToObject(length));
                }
            }
            return(null);
        }
Exemple #6
0
        public static object ScanFull(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern, bool advance_pointer_p, bool return_string_p)
        {
            bool   match  = self.Match(pattern, true, advance_pointer_p);
            object result = null;

            if (match)
            {
                if (return_string_p)
                {
                    result = MutableString.Create(self.LastMatch);
                }
                else
                {
                    result = self.LastMatch.Length;
                }
            }
            return(result);
        }
Exemple #7
0
        public static object SearchFull(StringScanner /*!*/ self, [NotNull] RubyRegex /*!*/ pattern, bool advance_pointer_p, bool return_string_p)
        {
            bool   match  = self.Match(pattern, false, advance_pointer_p);
            object result = null;

            if (match)
            {
                int length = self.LastMatch.Length + (self.FoundPosition - self.PreviousPosition);
                if (return_string_p)
                {
                    result = self.ScanString.GetSlice(self.PreviousPosition, length);
                }
                else
                {
                    result = length;
                }
            }
            return(result);
        }
Exemple #8
0
 public static int? SkipUntil(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern)
 {
     bool match = self.Match(pattern, false, true);
     if (!match) {
         return null;
     }
     return (self.CurrentPosition - self.PreviousPosition);
 }
Exemple #9
0
 public static object SearchFull(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern, bool advancePointer, bool returnString)
 {
     bool match = self.Match(pattern, false, advancePointer);
     if (match) {
         int length = self.LastMatch.Length + (self.FoundPosition - self.PreviousPosition);
         if (returnString) {
             return self.ScanString.GetSlice(self.PreviousPosition, length);
         } else {
             return ScriptingRuntimeHelpers.Int32ToObject(length);
         }
     }
     return null;
 }
Exemple #10
0
 public static object ScanFull(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern, bool advancePointer, bool returnString)
 {
     bool match = self.Match(pattern, true, advancePointer);
     if (match) {
         if (returnString) {
             return MutableString.Create(self.LastMatch);
         } else {
             return ScriptingRuntimeHelpers.Int32ToObject(self.LastMatch.Length);
         }
     }
     return null;
 }
Exemple #11
0
 public static int? Match(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern)
 {
     if (!self.Match(pattern, true, false)) {
         return null;
     }
     return self.LastMatch.GetLength();
 }
Exemple #12
0
 public static int? Exist(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern)
 {
     if (!self.Match(pattern, false, false)) {
         return null;
     }
     return self.FoundPosition + self.LastMatch.Length;
 }
Exemple #13
0
 public static object SearchFull(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern, bool advance_pointer_p, bool return_string_p) {
     bool match = self.Match(pattern, false, advance_pointer_p);
     object result = null;
     if (match) {
         int length = self.LastMatch.Length + (self.FoundPosition - self.PreviousPosition);
         if (return_string_p) {
             result = self.ScanString.GetSlice(self.PreviousPosition, length);
         } else {
             result = length;
         }
     }
     return result;
 }
Exemple #14
0
 public static object ScanFull(StringScanner/*!*/ self, [NotNull]RubyRegex/*!*/ pattern, bool advance_pointer_p, bool return_string_p) {
     bool match = self.Match(pattern, true, advance_pointer_p);
     object result = null;
     if (match) {
         if (return_string_p) {
             result = MutableString.Create(self.LastMatch);
         } else {
             result = self.LastMatch.Length;
         }
     }
     return result;
 }