Если вы ищете только URL-адреса в <li>
элементах, отформатированных так же, как и в вашем вопросе, это должно быть намного проще, чем во многих других предлагаемых решениях. Вам не нужно проверять свои URL, я полагаю, вы просто хотите взять список имен сайтов и URL и превратить URL в ссылки.
Ваш шаблон поиска может быть:
<li>(.+) - (https?:\/\/)?(\S+?)<\/li>
И шаблон замены будет:
<li>$1 - <a href="(?2:$2:http\://)$3" rel="external">$3</a></li>
Только что проверил поиск / замену в TextMate, и все заработало. Он добавляет http://
, если его еще нет, и в противном случае предполагает, что все, что находится после -
, является URL-адресом, если оно не содержит пробела.
Для тестирования регулярных выражений, Rubular - отличный инструмент. Вы можете вставить некоторый текст, и он покажет вам, что соответствует, когда вы вводите регулярное выражение. Это инструмент ruby, но TextMate использует тот же синтаксис регулярных выражений, что и ruby.