Page 38 - 4611
P. 38
matches() – перевіряє, чи весь рядок відповідає
шаблону;
lookingAt() – шукає послідовність символів, які
починаються з початку рядка і відповідну до шаблону
find() або find(int start) – пробує знайти послідовність,
відповідну до шаблону у будь-якому місці рядка. Параметр
вказує на початкову позицію пошуку.
Метод reset() скидує стан Matcher у початковий,
reset(CharSequence input) також встановлює нову послідовність
символів для пошуку.
Для заміни всіх послідовностей символів, що відповідають
шаблону, для заданої строки можна використатати метод
replaceAll(String replacement).
Наступний приклад показує застосування Pattern і Matcher,
для пошуку, розбору та розбиття рядків.
import java.util.regex.*;
public class DemoRegular {
public static void main(String[] args) {
Pattern p1 = Pattern.compile("a*y");
Matcher m1 = p1.matcher( "aaay" );
boolean b = m1.matches();
System.out.println(b);
String regex = "(\\w+)@(\\w+\\.)(\\w+)(\\.\\w+)*" ;
String s = "адреса эл.почты: mymail@tut.by и rom@bsu.by";
Pattern p2 = Pattern. compile (regex);
Matcher m2 = p2.matcher(s);
while (m2.find()) {
System.out.println("e-mail: " + m2.group());
}
Pattern p3 = Pattern.compile("\\d+\\s?");
String[] words = p3.split("java5tiger 77 java6mustang");
for (String word : words)
System.out.println(word);
}}}
У результаті буде виведено:
true
e - mail : mymail @ tut. by
e-mail: rom@bsu.by
38