Застрял с повторным разделением в регулярном выражении

Я пытаюсь написать регулярное выражение на PHP, но застрял в повторном разделе ниже. Можно ли получить эту информацию с одним регулярным выражением?

С этой группой - Grandma (2013/Bluray)

<h2>Grandma / Nice story of grandma 2013 / Grandparents / Granma on vacation (2013/Bluray)</h2>
<h2>Grandma / Nice story of grandma 2013 / Grandparents (2013/Bluray)</h2>
<h2>Grandma / Nice story of grandma 2013 (2013/Bluray)</h2>
<h2>Grandma (2013/Bluray)</h2>

С этой группой - Game of death 2 (1981/HDRip)

<h2>Game of death 2 / TD 2 / Super death towers II / Towers of Death / Game of Death II / Tower of Death (1981/HDRip)</h2>
<h2>Game of death 2 / TD II / Super death towers II / Towers of Death / Game of Death II / Tower of Death (1981/HDRip)</h2>
<h2>Game of death 2 / Super death towers II / Towers of Death / Game of Death II / Tower of Death (1981/HDRip)</h2>
<h2>Game of death 2 / Towers of Death / Game of Death II / Tower of Death (1981/HDRip)</h2>
<h2>Game of death 2 / Towers of Death / Tower of Death (1981/HDRip)</h2>
<h2>Game of death 2 / Tower of Death (1981/HDRip)</h2>

/

([^\/]*)(.*)\((.*)\)<\/h1>/i выражение у меня есть /

([^\/]*)(.*)\((.*)\)<\/h1>/i. Но это не работает на <h1>Grandma (2013/Bluray)</h1>.

1 ответ

Я не имею доступа к движку регулярных выражений PHP, чтобы попробовать это, но следующее регулярное выражение работает в.NET:

<h2><code>([^\/(]*)(?:.*)\((.*)\)<\/h1>
</code> <p> Это фиксирует данные, которые вы хотите использовать для всех ваших входных данных. На <a href="http://regexhero.net/tester/?id=19bbd709-48d0-47e7-916e-4d62fd3a9fbc" rel="nofollow noreferrer" target="_blank">живой демо-странице</a> нажмите "20 групп" справа справа, чтобы увидеть содержимое захваченных групп.</p> <p> Я изменил две вещи из того, что у вас было:</p>


 <ul><li> изменил <code>[^\/]</code> на <code>[^\/(]</code> чтобы избежать захвата того, что находится в круглых скобках</li> <li> изменил <code>(.*)</code> на <code>(?:.*)</code>, сделав его не захватывающей группой, потому что мы не заботимся об этой части текста</li></ul><p> Это регулярное выражение захватывает дополнительные пробелы в некоторых случаях, поэтому вы должны вызывать <a href="http://php.net/manual/en/function.trim.php" rel="nofollow noreferrer" target="_blank"> <code>trim()</code></a> для захваченных групп, чтобы избавиться от лишних пробелов.</p> </h2>

licensed under cc by-sa 3.0 with attribution.