The below json schema should validate against these type of examples:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"id": "die.schema.json",
"title": "die",
"description": "A die or dice with modifiers.",
"type": [ "integer", "string" ],
"minimum": 0,
"pattern": "^[0-9]+d(2|3|4|6|8|10|12|20|%)([+-\\\\*]?[0-9]*)*$"
}