dialogEvents=[
до ]
[\w.:]+
этот паттерн находить все слова, но не могу понять как его ограничить то.(?<=\QdialogEvents=[\E)[\w.:]+
, а как сделать конец?(?<=dialogEvents=\[).+(?=\])
вот это вытягивает всю строку, а как их разделить пока что не могу понять :( dialogEvents=[CHAT_BOT, cliNotFound, slCP:Card.PayinSS:Card.Pay, AnnounceChatBot]
CHAT_BOT
cliNotFound
slCP:Card.PayinSS:Card.Pay
AnnounceChatBot
(?<=\QdialogEvents=[\E)(?:.+,?)*\w
CHAT_BOT, cliNotFound, slCP:Card.PayinSS:Card.Pay, AnnounceChatBot
На стадии модели дыры рано искать, да и модель у вас поверхностная. Как будут генериться токены, какой сложности, вероятность коллизий - вот это вот все решает.
Кеш in-memory для активных токенов.