Я нахожусь в процессе написания регулярного выражения в Java, которое соответствует приведенным ниже материалам и не соответствует недопустимым строкам. Я не могу правильно отфильтровать его, чтобы он совпадал только с действительным списком и не совпадал с недействительным.
вот мое регулярное выражение - (?!\!)([\(\)XSAa\\\#\+\-\s\.\!])+)
допустимые строки -
"A \\ # A \\ # A \\ #", "+ \ # \ # \ #", "(\\ # \\ # \\ #) \\ # \\ # \\ # - \\#\\#\\#\\#","\#\#\#.\#\#\#.\#\#\#\#","!\#\#","ИКС- \ # \ # \ # \ # "," \ # \ # \ # \ # \ # - SSSS "," Aaaaa !! "`
Здесь он не соответствует !\\#\\#
, поскольку я заявил, что он не должен содержать!
Неверные данные - !A!\\#!A!\\#!A!\\#, !X, A#A#A#, !a!a!a!a!a
но, к сожалению, оно соответствует A#A#A#
, что является сценарием сбоя.
Может кто-нибудь помочь мне с этим?