У меня есть это регулярное выражение для проверки на телефон #, который должен быть бесплатным.
public static final Pattern patternTollFree = Pattern.compile("^((877)|(800)|(866)|(888))");
Так что я хочу получить только те #, где пользователь, возможно, оставил 1 в начале строки, но я пробовал несколько вещей, и я не могу получить соответствие Java.
public String changeRingTo( String changedRinger )
{
if ( null == changedRinger || changedRinger.length() != 10)
return changedRinger;
if ( patternTollFree.matcher(changedRinger).region(0, 2).matches() )
changedRinger = '1' + changedRinger;
return changedRinger;
}
Я не могу получить этот 2-й тестовый пример ниже, чтобы преуспеть. Что я делаю не так?
assertEquals( "Regex not working", "8189091000", of.changeRingTo("8189091000"));
assertEquals( "Regex not working", "18769091000", of.changeRingTo("8769091000"));