2010-08-10 2 views
1

Я разрабатываю приложение, и я хочу использовать android.text.util.Regex.WEB_URL_PATTERN в качестве шаблона для Linkify. Но, как я заметил, по какой-то причине я не могу импортировать android.text.util.Regex.Не удается импортировать android.text.util.Regex? Где это?

Почему так? Есть ли способ обхода этого?

+0

FYI http://developer.android.com/reference/android/text/util/package-summary.html; нет 'Regex'. – polygenelubricants

ответ

0

Вы не можете импортировать его.

Проверьте код Src, и вы увидите, вы будете иметь что-то вроде:

/** 
* @hide 
*/ 
public class Regex { 
+0

Это то. Доступ к этому может получить только класс Linkify. Я не видел директивы @hide. – Guilherme

1

В SDK нет android.text.util.Regex. Следовательно, он не может быть импортирован. Я даже не могу найти его в текущем исходном коде Android, предлагая, что класс, возможно, был удален в Android 2.2 (или ранее).

Вот определение WEB_URL_PATTERN из более ранней версии источника:

/** 
* Regular expression pattern to match RFC 1738 URLs 
* List accurate as of 2007/06/15. List taken from: 
* http://data.iana.org/TLD/tlds-alpha-by-domain.txt 
* This pattern is auto-generated by //device/tools/make-iana-tld-pattern.py 
*/ 
public static final Pattern WEB_URL_PATTERN 
    = Pattern.compile(
     "((?:(http|https|Http|Https):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)" 
     + "\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_" 
     + "\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?" 
     + "((?:(?:[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}\\.)+" // named host 
     + "(?:" // plus top level domain 
     + "(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])" 
     + "|(?:biz|b[abdefghijmnorstvwyz])" 
     + "|(?:cat|com|coop|c[acdfghiklmnoruvxyz])" 
     + "|d[ejkmoz]" 
     + "|(?:edu|e[cegrstu])" 
     + "|f[ijkmor]" 
     + "|(?:gov|g[abdefghilmnpqrstuwy])" 
     + "|h[kmnrtu]" 
     + "|(?:info|int|i[delmnoqrst])" 
     + "|(?:jobs|j[emop])" 
     + "|k[eghimnrwyz]" 
     + "|l[abcikrstuvy]" 
     + "|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])" 
     + "|(?:name|net|n[acefgilopruz])" 
     + "|(?:org|om)" 
     + "|(?:pro|p[aefghklmnrstwy])" 
     + "|qa" 
     + "|r[eouw]" 
     + "|s[abcdeghijklmnortuvyz]" 
     + "|(?:tel|travel|t[cdfghjklmnoprtvwz])" 
     + "|u[agkmsyz]" 
     + "|v[aceginu]" 
     + "|w[fs]" 
     + "|y[etu]" 
     + "|z[amw]))" 
     + "|(?:(?:25[0-5]|2[0-4]" // or ip address 
     + "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]" 
     + "|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1]" 
     + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}" 
     + "|[1-9][0-9]|[0-9])))" 
     + "(?:\\:\\d{1,5})?)" // plus option port number 
     + "(\\/(?:(?:[a-zA-Z0-9\\;\\/\\?\\:\\@\\&\\=\\#\\~" // plus option query params 
     + "\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?" 
     + "(?:\\b|$)"); // and finally, a word boundary or end of 
         // input. This is to stop foo.sure from 
         // matching as foo.su 
Смежные вопросы