Этот строковый литерал:
"\\[.+?\\]"
означает эту строку:
\[.+?\]
Итак, это выражение:
Pattern.compile("\\[.+?\\]");
означает это регулярное выражение:
\[.+?\]
, что означает "литерал [
, за которым следуют один или несколько символов - предпочтительно как можно меньше символов - и затем ]
". (.
означает «любой символ, кроме новой строки»; +?
означает «один или несколько из того, что я только что сказал, и желательно как можно меньше».) В общем, регулярное выражение соответствует [____]
, где ____
может быть чем-либо, что не содержит символ новой строки, если его длина не менее одного символа; и где ____
не будет (обычно) содержать ]
за исключением, возможно, самого первого символа.
Для получения дополнительной информации о Pattern
и регулярных выражениях в Java см. документацию для Pattern
класса .