[identity profile] alb-wiki.livejournal.com posting in [community profile] useful_faq
Как заменить апостроф (псевдоапостроф) в укр. тексте на его правильный вариант alt-039 (') или alt-0146 (’). Вроде как regexp написал, но меняет полкостью с буквами до и после него. Помогите разобраться.

Piccy.info - Free Image Hosting

Как можно реализовать замену любых не-типографских кавычек на елочки («»), используя regexp?

Если что, с использованием http://gskinner.com/RegExr/, Notepad++ (или варианты), OO Writer/Word но без php, javascript, с ними пока не умею

Date: 2010-09-08 07:42 am (UTC)
From: [identity profile] alexyv.livejournal.com
А вы как написали? Покажите свой код.
(Ссылка на картинку не работает.)

Date: 2010-09-08 08:54 am (UTC)
From: [identity profile] alexyv.livejournal.com
Я что-то запутался. В чем задача-то состоит: вместо обычных апострофов (') расставить правильно типографские, или наоброт заменить все типографские апострофы и кавычки на обычные?

Для первого варианта с помощью RegExr, на вкладке Replace:
1 строка: ['"“”«»]
2 строка: '
Текст примера: te'xt t“test» "
Результат обработки: te'xt t'test' '

Date: 2010-09-08 10:08 am (UTC)
From: [identity profile] alexyv.livejournal.com
Уже ответили ниже (http://community.livejournal.com/useful_faq/12107486.html?thread=125046494#t125046494).

Date: 2010-09-08 08:55 am (UTC)
From: [identity profile] dr-von-ozgg.livejournal.com
Попробуйте так:
(\S)[`’«»"](\S) заменять на $1'$2
То есть он будет искать не-пробел, символ из набора, следующий не-пробел и заменять его на первую группу (не-пробел), апостроф и вторую группу (не-пробел).
К тому, что находится в круглых скобках, можно как раз обращаться через доллар при замене.
Можете ещё почитать http://regular-expressions.info, там достаточно дельно расписано всё, но на английском.

Date: 2010-09-08 10:07 am (UTC)
From: [identity profile] alexyv.livejournal.com
Да-да, именно так.

Date: 2010-09-08 08:58 am (UTC)
From: [identity profile] dr-von-ozgg.livejournal.com
С кавычками я бы попробовал так:
"([^"]+)" => «$1»
Но тут, наверное, нужно будет ещё продумать. Этот вариант будет искать кавычку, не-кавычку много раз, снова кавычку и заменять её на ёлочку, то, что было между кавычками, и ещё одну ёлочку.