Example #1
0
        public static string[] split(java.util.regex.Pattern pattern, string re, string input
                                     , int limit)
        {
            string[] fastResult = fastSplit(re, input, limit);
            if (fastResult != null)
            {
                return(fastResult);
            }
            // Unlike Perl, which considers the result of splitting the empty string to be the empty
            // array, Java returns an array containing the empty string.
            if (string.IsNullOrEmpty(input))
            {
                return(new string[] { string.Empty });
            }
            // Collect text preceding each occurrence of the separator, while there's enough space.
            java.util.ArrayList <string> list = new java.util.ArrayList <string>();
            int maxSize = limit <= 0 ? int.MaxValue : limit;

            java.util.regex.Matcher matcher = new java.util.regex.Matcher(pattern, java.lang.CharSequenceProxy.Wrap
                                                                              (input));
            int begin = 0;

            while (matcher.find() && list.size() + 1 < maxSize)
            {
                list.add(Sharpen.StringHelper.Substring(input, begin, matcher.start()));
                begin = matcher.end();
            }
            return(finishSplit(list, input, begin, maxSize, limit));
        }
Example #2
0
 internal static void gatherLinks(java.util.ArrayList <android.text.util.LinkSpec>
                                  links, android.text.Spannable s, java.util.regex.Pattern pattern, string[] schemes
                                  , android.text.util.Linkify.MatchFilter matchFilter, android.text.util.Linkify.TransformFilter
                                  transformFilter)
 {
     throw new System.NotImplementedException();
 }
Example #3
0
 /// <summary>
 /// <p>Parses a sequence of columns ids defined in a CharSequence with the
 /// following pattern (regex): \d+(\s*,\s*\d+)*</p>
 /// <p>Examples: "1" or "13, 7, 6" or "".</p>
 /// <p>The result of the parsing is stored in a sparse boolean array.
 /// </summary>
 /// <remarks>
 /// <p>Parses a sequence of columns ids defined in a CharSequence with the
 /// following pattern (regex): \d+(\s*,\s*\d+)*</p>
 /// <p>Examples: "1" or "13, 7, 6" or "".</p>
 /// <p>The result of the parsing is stored in a sparse boolean array. The
 /// parsed column ids are used as the keys of the sparse array. The values
 /// are always true.</p>
 /// </remarks>
 /// <param name="sequence">a sequence of column ids, can be empty but not null</param>
 /// <returns>
 /// a sparse array of boolean mapping column indexes to the columns
 /// collapse state
 /// </returns>
 private static android.util.SparseBooleanArray parseColumns(string sequence)
 {
     android.util.SparseBooleanArray columns = new android.util.SparseBooleanArray();
     java.util.regex.Pattern         pattern = java.util.regex.Pattern.compile("\\s*,\\s*");
     string[] columnDefs = pattern.split(java.lang.CharSequenceProxy.Wrap(sequence));
     foreach (string columnIdentifier in columnDefs)
     {
         try
         {
             int columnIndex = System.Convert.ToInt32(columnIdentifier);
             // only valid, i.e. positive, columns indexes are handled
             if (columnIndex >= 0)
             {
                 // putting true in this sparse array indicates that the
                 // column index was defined in the XML file
                 columns.put(columnIndex, true);
             }
         }
         catch (System.ArgumentException)
         {
         }
     }
     // we just ignore columns that don't exist
     return(columns);
 }
Example #4
0
 public global::java.util.regex.Matcher usePattern(java.util.regex.Pattern arg0)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(global::MonoJavaBridge.JavaBridge.WrapJavaObject(@__env.CallObjectMethod(this.JvmHandle, global::java.util.regex.Matcher._usePattern15776, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))) as java.util.regex.Matcher);
     }
     else
     {
         return(global::MonoJavaBridge.JavaBridge.WrapJavaObject(@__env.CallNonVirtualObjectMethod(this.JvmHandle, global::java.util.regex.Matcher.staticClass, global::java.util.regex.Matcher._usePattern15776, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))) as java.util.regex.Matcher);
     }
 }
Example #5
0
        static SpellingQueryConverter()
        {
            java.lang.StringBuilder sb = new java.lang.StringBuilder();
            foreach (string part in NAMESTARTCHAR_PARTS)
            {
                sb.append(part);
            }
            foreach (string part in ADDITIONAL_NAMECHAR_PARTS)
            {
                sb.append(part);
            }
            string NMTOKEN = "([" + sb.toString() + "]|" + SURROGATE_PAIR + ")+";
            string PATTERN = "(?:(?!(" + NMTOKEN + ":|\\d+)))[\\p{L}_\\-0-9]+";

            QUERY_REGEX = Pattern.compile(PATTERN);
        }
Example #6
0
        public Regex(string pattern, System.Text.RegularExpressions.RegexOptions options)
        {
            int flags = 0;

            if ((options & System.Text.RegularExpressions.RegexOptions.CultureInvariant) != 0)
            {
                options &= ~System.Text.RegularExpressions.RegexOptions.CultureInvariant;
            }
            else
            {
                flags |= java.util.regex.Pattern.UNICODE_CASE
                         | java.util.regex.Pattern.CANON_EQ;
            }

            if ((options & System.Text.RegularExpressions.RegexOptions.IgnoreCase) != 0)
            {
                options &= ~System.Text.RegularExpressions.RegexOptions.IgnoreCase;
                flags   |= java.util.regex.Pattern.CASE_INSENSITIVE;
            }

            if ((options & System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace) != 0)
            {
                options &= ~System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace;
                flags   |= java.util.regex.Pattern.COMMENTS;
            }

            if ((options & System.Text.RegularExpressions.RegexOptions.Multiline) != 0)
            {
                options &= ~System.Text.RegularExpressions.RegexOptions.Multiline;
                flags   |= java.util.regex.Pattern.MULTILINE;
            }

            if ((options & System.Text.RegularExpressions.RegexOptions.Singleline) != 0)
            {
                options &= ~System.Text.RegularExpressions.RegexOptions.Singleline;
                flags   |= java.util.regex.Pattern.DOTALL;
            }

            options &= ~System.Text.RegularExpressions.RegexOptions.Compiled;
            if (options != 0)
            {
                throw new System.ArgumentOutOfRangeException();
            }

            JavaPattern = java.util.regex.Pattern.compile(pattern);
        }
Example #7
0
 /// <summary>
 /// Sets a new pattern for the
 /// <code>Matcher</code>
 /// . Results of a previous find
 /// get lost. The next attempt to find an occurrence of the
 /// <see cref="Pattern">Pattern</see>
 /// in the string will start at the beginning of the input.
 /// </summary>
 /// <param name="pattern">
 /// the new
 /// <code>Pattern</code>
 /// .
 /// </param>
 /// <returns>
 /// the
 /// <code>Matcher</code>
 /// itself.
 /// </returns>
 public java.util.regex.Matcher usePattern(java.util.regex.Pattern pattern_1)
 {
     if (pattern_1 == null)
     {
         throw new System.ArgumentException();
     }
     this._pattern = pattern_1;
     if (address != null)
     {
         closeImpl(address);
         address = null;
     }
     address = openImpl(pattern_1.address);
     if (input != null)
     {
         resetForInput();
     }
     matchOffsets = new int[(groupCount() + 1) * 2];
     matchFound   = false;
     return(this);
 }
        public bool IsMatch(string expression)
        {
            if (expression == null || expression.Length == 0)
            {
                return(false);
            }

            if (text != null)
            {
                if (text [0] != expression [0] ||
                    String.Compare(text, 1, expression, 1,
                                   text.Length - 1, false,
                                   Helpers.InvariantCulture) != 0)
                {
                    return(false);
                }
                expression = expression.Substring(text.Length);
            }

            if (pattern == null)
            {
                return(expression.Length == 0);
            }

            lock (this_lock)
            {
                if (regex == null)
#if TARGET_JVM
                { regex = java.util.regex.Pattern.compile(pattern); }
#else
                { regex = new Regex(pattern); }
#endif
            }
#if TARGET_JVM
            return(regex.matcher((java.lang.CharSequence)(object) expression).matches());
#else
            return(regex.Match(expression).Success);
#endif
        }
Example #9
0
 public static global::java.lang.String[] split(java.lang.String arg0, java.util.regex.Pattern arg1)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     return(global::MonoJavaBridge.JavaBridge.WrapJavaArrayObject <java.lang.String>(@__env.CallStaticObjectMethod(android.text.TextUtils.staticClass, global::android.text.TextUtils._split7931, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))) as java.lang.String[]);
 }
Example #10
0
        //
        // constructor
        //

        public Regex(string pattern)
        {
            JavaPattern = java.util.regex.Pattern.compile(pattern);
        }
Example #11
0
 public static bool addLinks(android.text.Spannable arg0, java.util.regex.Pattern arg1, java.lang.String arg2, android.text.util.Linkify.MatchFilter arg3, android.text.util.Linkify.TransformFilter arg4)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     return(@__env.CallStaticBooleanMethod(android.text.util.Linkify.staticClass, global::android.text.util.Linkify._addLinks8412, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg3), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg4)));
 }
Example #12
0
 public static void addLinks(android.widget.TextView arg0, java.util.regex.Pattern arg1, java.lang.String arg2, android.text.util.Linkify.MatchFilter arg3, android.text.util.Linkify.TransformFilter arg4)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     @__env.CallStaticVoidMethod(android.text.util.Linkify.staticClass, global::android.text.util.Linkify._addLinks8410, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg3), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg4));
 }
Example #13
0
		/// <summary>
		/// Sets a new pattern for the
		/// <code>Matcher</code>
		/// . Results of a previous find
		/// get lost. The next attempt to find an occurrence of the
		/// <see cref="Pattern">Pattern</see>
		/// in the string will start at the beginning of the input.
		/// </summary>
		/// <param name="pattern">
		/// the new
		/// <code>Pattern</code>
		/// .
		/// </param>
		/// <returns>
		/// the
		/// <code>Matcher</code>
		/// itself.
		/// </returns>
		public java.util.regex.Matcher usePattern(java.util.regex.Pattern pattern_1)
		{
			if (pattern_1 == null)
			{
				throw new System.ArgumentException();
			}
			this._pattern = pattern_1;
			if (address != null)
			{
				closeImpl(address);
				address = null;
			}
			address = openImpl(pattern_1.address);
			if (input != null)
			{
				resetForInput();
			}
			matchOffsets = new int[(groupCount() + 1) * 2];
			matchFound = false;
			return this;
		}
Example #14
0
        //
        // constructor
        //

        public MatchCollection(java.util.regex.Pattern javaPattern, string input)
        {
            this.input  = input;
            JavaMatcher = javaPattern.matcher((java.lang.CharSequence)(object) input);
        }
Example #15
0
 /// <summary>Creates a matcher for a given combination of pattern and input.</summary>
 /// <remarks>
 /// Creates a matcher for a given combination of pattern and input. Both
 /// elements can be changed later on.
 /// </remarks>
 /// <param name="pattern">the pattern to use.</param>
 /// <param name="input">the input to use.</param>
 internal Matcher(java.util.regex.Pattern pattern_1, java.lang.CharSequence input)
 {
     usePattern(pattern_1);
     reset(input);
 }
Example #16
0
 public static void addLinks(android.widget.TextView text, java.util.regex.Pattern
                             pattern, string scheme)
 {
     throw new System.NotImplementedException();
 }
Example #17
0
 public static void addLinks(android.widget.TextView text, java.util.regex.Pattern
                             p, string scheme, android.text.util.Linkify.MatchFilter matchFilter, android.text.util.Linkify
                             .TransformFilter transformFilter)
 {
     throw new System.NotImplementedException();
 }
Example #18
0
 public static bool addLinks(android.text.Spannable s, java.util.regex.Pattern p,
                             string scheme, android.text.util.Linkify.MatchFilter matchFilter, android.text.util.Linkify
                             .TransformFilter transformFilter)
 {
     throw new System.NotImplementedException();
 }
Example #19
0
 public static bool addLinks(android.text.Spannable text, java.util.regex.Pattern
                             pattern, string scheme)
 {
     throw new System.NotImplementedException();
 }