Как с помощью регулярного выражения проверить начало строки

Дана строка:
String string = "Compassion is the basis of morality"
Как с помощью string.matches проверить что строка начинается с "Compassion"?
На сайте https://regex101.com я могу использовать выражение ^Compassion, однако используя Java я не могу решить задачу используя string.matches("^Compassion").
Как это работает?


Ответы (1 шт):

Автор решения: DmitriyD

Используя выражение ^Compassion матчер вернет false, т.к. ожидается, что после слова Compassion больше нет символов.

Чтобы пройти проверку на соответствие выражению, используйте ^Compassion(.*)

Так же, не прибегая к регулярным выражениям, у класса String есть метод startsWith, который проверит строку на начало:

"Compassion is the basis of morality".startsWith("Compassion");
→ Ссылка