Попробуйте это:
(?<=>)\s*+([^<>]+?(?=(?:[\s\r]*<)))
У вас есть демо здесь .
Результаты будут в первой группе захвата
Это то, что я изменил по сравнению с вашим исходным регулярным выражением.
(?<=>)\s*+([^<>]+?(?=(?:[\s\r]*<)))
^ ^ ^ ^
| | | \__ Used a non-caturing group (just recommended)
| | |
| | \___ This is now the begin of the capturing group
| |
| \___ Added whitespaces with possesive quantifier (cannot backtrack)
|
\__ Removed beginning of first capturing group
Наконец, если вы не хотели использовать группу захвата и использовали вместо этого только совпадения, вы можете использовать это регулярное выражение:
(?<=>)\s*+\K[^<>]+?(?=(?:[\s\r]*<))
Это похоже на предыдущий.Разница в том, что используется \K
до забыть текущую соответствующую строку.
У вас есть новое демо здесь .