Processing:Справочник языка Processing/matchAll()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


matchAll() [1]

Обозначение

matchAll()

Описание

Используется для поиска совпадений в тексте при помощи регулярного выражения. Возвращает список совпадений в виде двухмерного массива значений String. Регулярное выражение можно задать группами, и в этом случае каждая группа будет помещена внутри скобочек. Если совпадений нет, метод вернет нулевое значение. Если в регулярном выражении не будет групп, но метод найдет совпадение, то вернет его в виде двухмерного массива, однако второе измерение массива будет иметь длину 1.

Сначала проверьте, не дает ли этот метод нулевой результат. Если дает, то по заданному вами тексту никаких совпадений нет. Если же совпадения есть, метод вернет двухмерный массив.

Если в регулярном выражении есть группы (они указываются при помощи отдельных скобочек), метод вернет массив с содержимым каждой из этих групп. Представьте цикл, имеющий переменную счетчика i – тогда элемент [i][0] регулярного выражения вернет всю искомую строку. Группы регулярного выражения начинаются с элемента [i][1]. Таким образом, первая группа – это [i][1], вторая группа – это [i][2] и т.д.

О синтаксисе метода можно почитать в документации Java о классе Pattern. О синтаксисе регулярного выражения можно почитать в этом руководстве Java.

Синтаксис

matchAll(srt, regexp)

Параметры

str     строка, которую нужно найти. Тип данных  String
regexp  регулярное выражение для поиска совпадений. Тип данных  String

Возвращаемое значение

Массив String[].

Пример

String s = "Inside tags, you will find <tag>multiple</tag> ";
       //  "Внутри тегов вы найдете <tag>множитель</tag>"
       s += "<tag>pieces</tag> of <tag>content</tag>.";

String[][] m = matchAll(s, "<tag>(.*?)</tag>");
for (int i = 0; i < m.length; i++) {
  println("Found '" + m[i][1] + "' inside a tag.");
}

// Напечатает в консоли: 
// "Found 'multiple' inside a tag."
// "Found 'pieces' inside a tag."
// "Found 'content' inside a tag."

См.также

Внешние ссылки