Как найти две группы и заменить одну с другой с помощью регулярных выражений? - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть ситуация, когда мне нужно найти 2 группы в некотором тексте и заменить $1 на $2.

Я не уверен, что это возможно. Кроме того, я не хочу использовать PHP, но простой поиск и замена.

См. здесь или см. Этот текст:

<li>
<div>
    <a href="/video/testimonials/video-477" class="shadow"></a>
</div><div class="videoTb_title">Kevin Austin</div>
</li>

Я хочу найти video-477 и заменить его на Kevin Austin.

Это всего лишь пример, у меня есть несколько имен с разными именами и идентификаторами видео

Есть идеи? Спасибо

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Предполагая, что / video / testimonials на самом деле является частью большинства ваших URL, вы можете записать и заменить их следующим регулярным выражением:

(<a[^"]+\"/video/testimonials/)([^"]+)(\".+</a>\r?\n?.*?videoTb_title\"\>)([^<]+)</div>

, которое следует заменить на

$1$4$3$4$5</div>

Keepв виду, что ваш пример принят: href = "/ video / testimonials / Kevin Austin", что может считаться плохой практикой использования пробелов в URL.

0 голосов
/ 15 февраля 2012

Нам действительно нужно больше информации о структуре всех элементов, чтобы убедиться, что мы можем создать регулярное выражение, которое всегда работало.

Вот пример регулярного выражения, которое будет работать для вашего примера:

/video/testimonials/([^"]+)

"video-477" будет храниться в $ 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...