Thats the problem with input data that doesn't follow any/much rules: determining its content is hard.
In other words: first you have to step back and look all the data; in order to discover "patterns" in the data set. Then you think up rules that could be used to put entries into different buckets.
Example:
ProjectOne-2017-04-24
It seems that some entries follow the rule:
name separator iso-date
This means: a simple first check would be to figure if incoming strings match something like
(\w+)[-_](\d{4}[-_]\d{2}[-_]\d{2})
This regex matches:
- a sequence of (more than 1) non-whitespace characters
- followed by something consisting of 4 digits, 2 digits, 2 digits; with _ or - as separator between them
- the regex contains two groups; so if you have a match, the first group will contain your project name; and the second group the ISO date value (as string).
The above is just meant as "inspiration"; in the end, it is your project; so you have to sit down and learn and understand regular expressions. You can start here to learn how the rules for such patterns; or here for a complete tutorial on the subject.
Long story short: there are no detours - don't expect SO to provide you with one magic regex that solves all your problems; especially given that you are lacking essential understanding of the concept you intend to use.