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

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

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


match() [1]

Обозначение

match()

Описание

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

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

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

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

Синтаксис

match(str, regexp)

Параметры

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

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

Массив String[].

Пример

№1

String s = "Inside a tag, you will find <tag>content</tag>.";
       //  "Внутри тега вы найдете <tag>содержимое</tag>."
String[] m = match(s, "<tag>(.*?)</tag>");
println("Found '" + m[1] + "' inside the tag.");
// напечатает в консоли:
// "Found 'content' inside the tag."

№2

String s1 = "Have you ever heard of a thing called fluoridation. "; 
        //  "Слышали ли вы о такой вещи, как фторирование?"
       s1 += "Fluoridation of water?";
         //  "Фторирование воды?"
String s2 = "Uh? Yes, I-I have heard of that, Jack, yes. Yes.";
        //  "А? Да, я... я слышал об этом, Джек, да. Да."

String[] m1 = match(s1, "fluoridation");
if (m1 != null) {  //  если не «null», значит, найдено совпадение
  // это будет напечатано в консоли, если будет найдено совпадение:
  println("Found a match in '" + s1 + "'");  
} else {
  println("No match found in '" + s1 + "'");
}

String[] m2 = match(s2, "fluoridation");
if (m2 != null) {
  println("Found a match in '" + s2 + "'");
} else {
  // а это – если совпадение найдено не будет:
  println("No match found in '" + s2 + "'");  
}

См.также

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