Мне нужно использовать регулярное выражение, которое содержит все символы \ b, кроме точки,.
Что-то вроде [\b&&[^.]]
Например, в следующей тестовой строке:
"somewhere deep down in some org.argouml.swingext classes and"
Я хочу, чтобы строка org.argouml.swingext
соответствовала, ноorg.argouml
строка не слишком совпадает.(Используя метод Matcher.find()
)
Если я использую: \b(package_name)>\b
они совпадают, что не то, что я хочу.
Если я использую: \b(package_name)[\b&&[^\.]]
Я получаю PatternSyntaxException
Если я использую: \b(package_name)(\b&&[^\.])
, то ничего не подходит.
Я использую эту ссылку для проверки моих регулярных выражений.
Контекст: у меня есть список имен пакетов из проекта, и я должен искать их в некоторых текстах.Очевидно, что если найден вложенный пакет, я не хочу, чтобы внешний пакет также совпадал, как видно из приведенного выше примера.
Я не использую символьный класс \s
в конце, потому что пакетможет находиться в конце строки, или после него могут следовать другие несловесные символы, такие как :
, )
и т. д., символы, содержащиеся в классе \b
.Я просто хочу вычесть.из класса \ b.
Если кто-нибудь знает, как это сделать, я был бы очень признателен :) Спасибо