The below json schema should validate against these type of examples:
- straight numbers: 0, 1, 2
- simple die notation: 1d10, 3d6
- additions: 1d6+1
- multiplications: 1d6*3
- both combined: 1d6+1*10
{
"$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]*)*$"
}