import java.util.regex.*;
class RegTest{
public static void maint(String[] args){
Pattern p = new Pattern("ab"); // регулярное выражание
Matcher m = p.matcher("abaaaba"); // текст
while(m.find()){
System.out.print(m.start() + " "); // вывод: 0 4
}
}
class RegTest{
public static void maint(String[] args){
Pattern p = new Pattern("ab"); // регулярное выражание
Matcher m = p.matcher("abaaaba"); // текст
while(m.find()){
System.out.print(m.start() + " "); // вывод: 0 4
}
}
Примеры основных метасимволов:
^ - (крышка, цирркумфлекс) начало проверяемой строки
$ - (доллар) конец проверяемой строки
. - (точка) представляет собой сокращенную форму записи для символьного класса, совпадающего с любым символом
| - означает «или». Подвыражения, объединенные этим способом, называются альтернативами (alternatives)
? - (знак вопроса) означает, что предшествующий ему символ является необязательным
+ - обозначает «один или несколько экземпляров непосредственно предшествующего элемента
* – любое количество экземпляров элемента (в том числе и нулевое)
\\d – цифровой символ
\\D – не цифровой символ
\\s – пробельный символ
\\S – не пробельный символ
\\w – буквенный или цифровой символ или знак подчёркивания
\\W – любой символ, кроме буквенного или цифрового символа или знака подчёркивания
Class Matcher
boolean matches() просто указывает, соответствует ли вся входная последовательность шаблону.
int start() указывает значение индекса в строке, где начинается соответствующая шаблону строка.
int end() указывает значение индекса в строке, где заканчивается соответствующая шаблону строка плюс единица.
String group() - возвращает найденную строку
String group(int group) - если у Вас в регулярном выражении были группы, то можно вывести только кусочек строки соответствующей определенной группе.
Квантификаторы
+ - Одно или более (greed)
* - Ноль или более (greed)
? - Ноль или одно (greed)
{n} - Ровно n раз
{m,n} - От m до n включительно
{m,} - Не менее m
{,n} - Не более n
Теперь мы можем полностью понять регулярное выражение с самого первого примера: "^[a-z0-9_-]{3,15}$" .
Разберем её по кусочкам:
^ - начало строки
[a-z0-9_-] - символ который может быть маленькой латинской буквой или цифрой или символом подчеркивания.
{3,15} - предыдущий объект может повторяться от 3х до 15раз.