2015-02-06 5 views
4

Я пытаюсь выполнить возвышенный поиск и замену регулярным выражением с помощью обратной ссылки. Вот мой набор данных:Sublime Bug с регулярными выражениями

if(requestType.endsWith("CompleteMulti")) { 
if(requestType.endsWith("CompletePartial")) { 
if(requestType.endsWith("Unfulfillable")) { 

Когда я бегу регулярное выражение:

^.+"(\w+)".+$ 

с КЕРЪАСЕ:

$1 

Я получаю следующий вывод:

completemuLti 
completepaRtial 
unfulfillaBle 

Как вы можете видеть случай tters идет все вяло. Я использую версию 2.0.2, Build 2221

Это известная проблема? Некоторые поисковые запросы не отображали никаких данных. Если кто-нибудь знает обходное решение, пожалуйста, дайте мне знать.

+2

В Sublime 3 (сборка 3065) он работает, как и ожидалось, не меняя дела , Кажется, это ошибка. – streetturtle

+0

Я тестировал это на Ubuntu 14.10, OS X 10.8.5 и Windows 8 с использованием ST2, и он работал на всех трех для меня. Вы уверены, что в поле 'Replace' ничего не было? – MattDMo

+0

Я могу воспроизвести это на сборке 3065, если я выберу вариант «сохранить регистр» при замене текста, поскольку он сохраняет случай символа, который был там раньше .. не ошибка! :) – msturdy

ответ

4

Перед выполнением вашей «заменить все», снимите флажок «сохранить случай» (ALT + )

«Сохранить дело» сохранит регистр символа , который был в этом положении до того. Быстрая демонстрация:

if(requestType.endsWith("CompleteMulti")) { 
if(requestType.endsWith("CompletePartial")) { 
if(requestType.endsWith("Unfulfillable")) { 
completemuLti 
completepaRtial 
unfulfillaBle 

     ^only this character is left in upper case 

Другой пример. На этот раз мы заменим «возвышенный» с «бананами», используя регистронезависимое регулярное выражение и с «сохранить случай» выбран:

До:

SUblime 
suBLime 
sublIME 

После:

BAnanas 
baNAnas 
banaNAS 

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

Уважаемый университет Blahtown,

Я пишу, чтобы узнать о вашей прикладной биологии 101 Конечно, как я понимаю, ты ведущая школа в области биологии. У меня всегда проявлял живой интерес к области биологических исследований, и поэтому этот курс, прикладная биология 101, представляет особый интерес.

, а затем вы хотите также узнать о курсе географии, вы могли бы найти/заменить «Биолог» с «географ», поддерживая случай:

Дорогой университет Blahtown,

Я пишу, чтобы узнать о вашем курсе Applied Geography 101, поскольку я знаю, что вы являетесь ведущей школой в области географии.I всегда проявляли живой интерес к области географических исследований и поэтому этот курс, прикладная география 101, представляет особый интерес.

Довольно надуманный, я знаю.

примечание - Я попытался ищет ссылки на это в документации, но я не могу найти ничего определенного ...

+0

спасибо mrsturdy – IcedDante

+1

@IcedDante Это не отличный пример, правда! Может быть, вы нажмете ALT + A, не осознав этого? – msturdy

+1

А, я понимаю, что вы здесь делаете. Бывают случаи, когда я работаю с кодом, где у меня будет прописное и строчное слово, которое я хочу изменить. Например, имя класса ShipDialog и его экземпляр shipDialog, и я хочу, например, изменить судно для возврата. Я думаю, что это пригодится для этого. – IcedDante

Смежные вопросы