Вопрос по возможностям регулярных выражений при поиске и замене

durka82

Сейчас пробую использовать редактор VS .net 2003 для поиска и замены.
Написал регулярное выражение, которое ищет слова, состоящие только из заглавных букв:
 (:Lu+) 
- хочу преобразовать эти слова в строчные буквы. Как должно выглядеть выражение для замены?
Если что - вот помощь по разделу Регулярные выражения для студии.
Или подскажите, в каком редакторе это можно сделать?
Или проще заботать Перл?

artimon

В vim, EmEditor и куче других.
оффтоп: Спрашивается, нахрена было изобретать свои регулярные выражения?

durka82

А я и не изобретаю - все претензии к микрософту
Так как насчет примера выражения для замены.
п.с. А в ТС - тоже собственноизобретенные регэкспы? Просто там похоже тоже так нельзя заменять

durka82

Если тебе от этого будет легче - вот стандартный вариант
([A-Z]+) 
в пределах того, что можно там использовать.

artimon

А это и была претензия к MS.
В справке по ссылке я не нашёл ничего подходящего. В нормальных программах для этого есть ключи \L \U \E.
PS. В TC регекспы немного урезаные, но стандартные.

durka82

Попробовал EmEditor-ом получилось.
Насчет стандартности регэкспов - они и в ТС немного отличаются от стандарта - например, там $ используется для задания найденных подстрок, тогда как в том же EmEditor-е для этого используется \ (как и в VS, кстати).
Но сам EmEditor мне не очень понравился - он не умеет считать найденное + подсвечивать (причем в плагинах тоже такого я не нашел)

durka82

Действительно умеет
Смутило отсутствие выделенной кнопки
Что значит „считать найденое“?

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

Olyalyau

vim:

:1,$:s/\<\([A-Z]\+\)\>/\L\1\E/g

artimon

Я обычно пишу
:%s/<\/\?\w\+/\L&/g

Olyalyau

:%s/<\/\?\w\+/\L&/g
E486: Pattern not found: <\/\?\w\+
А
 :%s/\<\?\w\+/\L&/g 

заменяет ASDfadsfa на asdfadsfa, это вроде не то, что человек хотел.

artimon

Мой пример преобразует все xml теги в нижний регистр. Согласен, это не совсем то, что надо автору. Это просто то, что я часто использую.

Olyalyau

Понятно
Оставить комментарий
Имя или ник:
Комментарий: