регулярное выражение для добавления скобок до и после повторяющегося текста

У меня есть следующая строка, и я хочу добавить скобки до и после нее:

от:

<span class="Footnote">    Matt. xx. 19.</span>

or:

<span class="Footnote">    1 Thess. i. 7.</span>

и разные значения ссылок на стихи.. (другими словами, все, что между > и ‹

to:

<span class="Footnote"> (Matt. xx. 19.)</span>

и так далее (требуется что-то среднее между > и ‹ и добавление () до и после него..

пс. Я использую notepad++ для поиска и замены..

  • редактировать: первые 3 ответа отлично работают, даже для всего, что не в том же формате стиха.. что полезно.. однако я заметил в коде некоторые различия, которые не меняются.. например, если в коде есть какие-либо теги между ними.. как:

    <span class="Footnote">    [See <i>Dan</i>, note 12, p. 26, <i>infra</i>.  “Eternal” ="long.”]</span>

или если код разделен более чем на одну строку! нравится

<span class="Footnote">    some text

more text

</span>

Заранее спасибо,


person Mike    schedule 26.12.2011    source источник


Ответы (3)


Ищи

<span class="Footnote">\s*([^<>]*?)\s*</span>

и заменить на

<span class="Footnote">(\1)</span>

Это меняет

<span class="Footnote">    Matt. xx. 19.  </span>

в

<span class="Footnote">(Matt. xx. 19.)</span>
person Tim Pietzcker    schedule 26.12.2011
comment
спасибо .. что, если я хочу удалить все, что находится между этими › и ‹, даже если это не тот же формат? у некоторых есть текст, у некоторых есть буквы, запятые, точки... добавить () до и после чего-либо между ними? - person Mike; 26.12.2011
comment
Как отличить то, что вам не нужно, от того, что вы хотите сохранить? - person Tim Pietzcker; 26.12.2011
comment
что-нибудь между span, /span для сноски класса.. даже если у него есть коды или что-то вроде ‹i› или что-то еще - person Mike; 26.12.2011
comment
Можете ли вы отредактировать свой вопрос, включив в него несколько образцов до/после? - person Tim Pietzcker; 26.12.2011
comment
ОК: О многострочных строках: Notepad++ не поддерживает многострочное сопоставление регулярных выражений. И о тегах: это больше не является регулярным и несовместимым с регулярными выражениями, меньше всего с Notepad++. - person Tim Pietzcker; 26.12.2011

Найти то, что:

Footnote">\s*([^>]+)\s*<

Заменить:

Footnote">(\1)<
person phatfingers    schedule 26.12.2011

Попробуйте это: (Не удалось проверить, моя семья хочет, чтобы я выключил компьютер на рождественском завтраке).

  preg_replace("/Footnote">([^>]*?)</span>/i","[\1]",$subject);
person Derk Arts    schedule 26.12.2011