Use the Parse Text action with some Regular Expressions (RegEx).
Here's a sample code from PAD on how to get what you want, assuming the text is stored in %Text% (you can paste this directly into your PAD):
Text.ParseText.RegexParseForFirstOccurrence Text: Text TextToFind: $'''\\d{2}(?=-\\d{2}-)''' StartingPosition: 0 IgnoreCase: False OccurrencePosition=> Position Match=> Match
You will then end up with the value you want in %Match%:

The idea behind the RegEx above is as follows:
\d - this indicates a digit
{n} - this indicates the quantity of the item before this, meaning that \d{2} indicates 2 digits. You can also use \d\d instead, if you prefer.
(?={something}) is a so-called "positive lookahead". It basically is a part of the pattern that must follow whatever you're looking for, but is not included in the result. So, (?=-\d{2}-) means that your pattern must be followed by a dash (-), two digits and another dash.
So basically, the entire pattern \d{2}(?=-\d{2}-) will retrieve any two digits that are followed by a dash, two more digits and another dash.
In all cases of a date in the format of DD-MM-YYYY, you will get the DD part of it.
Also, it will completely ignore everything before the two digits.
If you find this helpful, please mark it as the preferred solution.
If you have any further questions to how this works, let me know.