Два обратных слеша перед скобками открытия и закрытия: \\[
и \\]
Двойная обратная косая черта оценивает одну обратную косую черту в строке. Единственная обратная косая черта выходит за скобки, поэтому они не интерпретируются как окружающие класс символов.
Никаких обратных слешей для скобок, которые объявляют класс символов: [a-z]
(вы можете выбрать любой диапазон, который вам нравится, не только от a до z)
Оператор Kleene star соответствует любому количеству символов в диапазоне.
public class Regexp {
public static void main(final String... args) {
System.out.println("[action]".matches("\\[[a-z]*\\]"));
}
}
В моей системе:
$ javac Regexp.java && java Regexp
true