Вы использовали (...)
(a capturing group) вместо [...]
(a character class). Используйте класс символов:
#+ +[A-Za-z0-9_]+\.sh +#+
^^^^^^^^^^^^^
См regex demo (обратите внимание, большинство групп захвата излишни здесь, и я удалил их, и .
должны быть экранированы, чтобы соответствовать буквальное точка.).
The [A-Za-z0-9_]+
матчи 1 или более букв, цифр или _
.
В (A-Za-z0-9_)+
матчи 1 или более последовательности из A-Za-z0-9_
(см demo).
Кроме того, в Java, вы можете использовать \w
, чтобы соответствовать [A-Za-z0-9_]
и shorten your regex к
#+ +\w+\.sh +#+
Не забывайте, что вам нужно удвоить каждый \
в строке шаблона в Java (String pattern = "#+ +\\w+\\.sh +#+";
).