System.out.println("[one]".matches("(?i).*[two].*"));
печатает true
, поскольку o
класса [two]
соответствует o
в one
Следующие .*
совпадения ne
- Вуаля, успешное совпадение!
В регулярном выражении [abc]
означает «один из символов a
, b
или c
».
System.out.println("[one]".matches("(?i).*\\[two].*"));
напечатает false
, потому что теперь скобки обрабатываются буквально. Хотя это регулярное выражение не имеет большого смысла.