Структура данных для представления шаблонов в строках

Я ищу хорошую структуру данных для представления строк в форме:

Domain:Key1=Value1,Key2=Value2...
  • Каждый «Домен» может содержать следующие символы шаблона - * , ? ( * - 0 или более символов, ? - 0 или 1 символ)

  • Каждый «Ключ» может содержать следующие символы шаблона - * , ? ( * - 0 или более символов, ? - 0 или 1 символ)

  • Каждое «Значение» может содержат следующие символы шаблона - * , ? ( * - 0 или более символов, ? - 0 или 1 символ)

Примеры:

JBoss:*
*:*
JBoss:type=ThreadPool,*
JBoss:type=Thread*,*
JB*:name=http1,type=ConnectionPool

Если вы знакомы с JMX ObjectName, то, по сути, это шаблон ObjectName.

Я ищу способы легко сохранить правило, соответствующее каждому шаблону, и иметь возможность быстро удалять, обновлять и добавлять новые правил.

Я начал с использования префикса Trie, но застрял с символы шаблона * , ? .

7
задан Brian Tompsett - 汤莱恩 8 November 2015 в 18:14
поделиться