У меня есть объект темы , который содержит карту сообщений .Ключи - это имена пользователей, а значения - это сообщения.Есть один пользователь с именем, которое всегда начинается с Пользователь , но заканчивается подстрокой, которая постоянно меняется.
Я знаю, что существует только один пользователь, соответствующий шаблону UserXXX.
Моя цель - получить ключ этого сообщения на основе частичного ключа Пользователь .
Я пытался использовать приведенный ниже код, используя matches
оператор и подача в него регулярного выражения.Я также пытался извлечь ключ, используя известные имена пользователей: $key: String(this in ("User001","User002","User003")) from $keys
Но ни одна из моих попыток не сработала.
rule "Find messages by UserXXX"
when
topic: Topic()
$keys: List() from topic.get("messages").keySet()
$key: String(this matches "User.*") from $keys
then
System.out.println("The full username is " + $key);
end
Учитывая карту:
{
"User001": "Message",
"Jasper": "Message",
"Micks": "Message"
}
Я ожидаю получить ключ User001
в переменную $key
.