# Regular Expressions 101

## Filter by Flavor

There are currently no sponsors. Become a sponsor today!

# Dice-Throwing notation

2

## Regular ExpressionPCRE2 (PHP >=7.3)

/
^(?<numberExpression>(?<numberDice>[0-9]+)(?<gaussExpression>[oO]?(?<gaussDices>[0-9])+(?<gaussModifier>[\+\-])?)?)?[dD](?<faces>[0-9]+)(?<exploding>[¡!]{0,2})(?<modifierExpression>[\+\-](?<modifierValue>[0-9]+))?(?<thresholdExp>:(?<thresholdValue>[0-9]+))?
/
gm

## Description

• You can express the required dice-throwing as usual: `1d10`, `2d6`, `3d8`...
• The first part (dice number) is mandatory. So, notations like "D10" are not computed, and they must be written as `1d10`
• The dice number may be expressed as `[number]o[number]`. For example: `1o3d10`. That will mark to implement a Gauss system, throwing 3 dice but only giving the value of the middle one.
• If that's the case, it is possible to add a symbol `+` or `-` at the end of the dice number value, to mark if whether you want the lowest or the highest value instead.
• The second part of the dice (the number of sides) may be any integer
• You can add a `!` or a `¡` (or both) at the end of the notated dice to represent exploding and imploding dices
• In addition, you can express a modifier in the form of a subtraction (`-3`, for example) or an addition (`+2`, for example)
• You can finally add a threshold (`:20`, for example).
Submitted by Hermes - 2 years ago (Last modified 2 years ago)