Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


Ambox content.png Черновик


match() [1]

Обозначение

match()

Описание

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

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

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

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

Синтаксис

match(str, regexp)

Параметры

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

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

Массив String[].

Пример

№1

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

№2

  1. String s1 = "Have you ever heard of a thing called fluoridation. ";
  2.         //  "Слышали ли вы о такой вещи, как фторирование?"
  3.        s1 += "Fluoridation of water?";
  4.          //  "Фторирование воды?"
  5. String s2 = "Uh? Yes, I-I have heard of that, Jack, yes. Yes.";
  6.         //  "А? Да, я... я слышал об этом, Джек, да. Да."
  7.  
  8. String[] m1 = match(s1, "fluoridation");
  9. if (m1 != null) {  //  если не «null», значит, найдено совпадение
  10.   // это будет напечатано в консоли, если будет найдено совпадение:
  11.   println("Found a match in '" + s1 + "'");  
  12. } else {
  13.   println("No match found in '" + s1 + "'");
  14. }
  15.  
  16. String[] m2 = match(s2, "fluoridation");
  17. if (m2 != null) {
  18.   println("Found a match in '" + s2 + "'");
  19. } else {
  20.   // а это – если совпадение найдено не будет:
  21.   println("No match found in '" + s2 + "'");  
  22. }

См.также

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

  1. processing.org - match()