String matches и contains не работают регулярные выражения

Здраствуйте
Я не могу понять, почему класс String его методы contains и matches не работают у меня с регулярными выражениями. При этом у других данный код работает. у меня java 8. Может быть такое, что в новой версии данные методы были отменены? или я все таки не правильно что то делаю.

P.S. данную задачу другими методами я могу решить. Я протестировал именно эти методы и они выдали такой
странный результат.

package com.javarush.task.task22.task2212;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
Проверка номера телефона
*/
public class Solution {
    public static boolean checkTelNumber(String telNumber)

    {
        System.out.println(telNumber);
        if(telNumber == null) return false;
        Pattern pattern = Pattern.compile("[a-z]+");
        Matcher matcher = pattern.matcher(telNumber); // так работает
        System.out.println("has symbol: " + matcher.find());
        System.out.println("contains: "+telNumber.contains("\\w"));

        System.out.println("matches: " + telNumber.matches("\\w"));
        System.out.println("contains: " + telNumber.contains("[a-z]"));

        return true;
    }

    public static void main(String[] args) {
        System.out.println(checkTelNumber("sd"));    }
}


вывод данного кода

sd
has symbol: true
contains: false
matches: false
contains: false
true

Комментариев нет

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.