Given a pattern (https://regex101.com/r/iN9hG6/2) which can have N # of hypens where I want the text after the last one, how would I request that as I always get the first:
<details>Fiction - Mystery - Duvall</details>
<details>Fiction - Mystery - Horror - Duvall</details>
I think what you're looking for is this:
<details>(?:\w+ - *)*(\w+)<\/details>
The idea is to match as much as possible inside the (?: ) group, which doesn't cause a backreference to be made, then match the thing you actually care about - the last token. The example below should give a bit more insight into what the syntax means.