2015-06-19 7 views
8

Hej, muszę zmienić w wielu miejscach camelCase na snail_case.Regex zastępuje wielkie litery małymi literami w PhpStorm

Mam następujący przykład:

billingAddress 
paymentDetails 

Próbowałem użyć znaleźć i zastąpić regex w PhpStorm

w 'wybrać' pole wprowadzania włożyłem w:

([A-Z]) 

W ' zastępuje "pole wejściowe, które wstawiłem:

_\L$1 

Wynik mam:

billing_LAddress 
payment_LDetails 

Co muszę zmienić, aby uzyskać następujący wynik:

billing_address 
payment_details 

Odpowiedz

18

Pierwszy otwarty znaleźć i zastąpić funkcjonalność CTRL + R a następnie zaznacz pola Match Case i Regex (a jeśli konieczne In Selection):

enter image description here


1. Aby wymienić CamelCase do snail_case jak w w pytaniu:

znalezisko:([A-Z])
wymienić:_\l$1

someThing -> some_thing


2. Aby wymienić UPPERCASE słowa małymi słów użyć \L

znajdują się:(\w*)
wymienić:\L$1

SOMETHING -> something


3. Aby wymienić małe słowa WIELKA słowa użyć \U

znajdują się:(\w*)
wymienić:\U$1

something -> SOMETHING


4 . Aby zamienić pierwszą literę słowa z małe użytku \l

znalezisko:(\w*)
wymienić:\l$1

Something -> something


5. Aby wymienić pierwszy znak, co er słów z WIELKA użytku \u

znalezisko:(\w*)
wymienić:\u$1

something -> Something


Uwaga: dodać kilka dodatkowych granice:

uzyskać najlepsze rezultaty, dodając kilka dodatkowych granice, które odpowiadają konkretnego przypadku, na przykład pojedynczego ' lub cudzysłowach " lub linię łamie \n


Regex Documentation

Sprawdź szczegóły na dodatkowy Regular Expression Składnia dokumentacja dla PHPStorm lub WebStorm.

3

Co muszę zmienić, aby uzyskać następujący wynik:

Nic/Wszystko. To po prostu nie jest obsługiwane ATM.

https://youtrack.jetbrains.com/issue/IDEA-70451 - obejrzyj ten bilet (gwiazda/głos/komentarz), aby otrzymać powiadomienie o postępach.


UPDATE: Ta funkcja jest obecnie realizowany i dostępny od PhpStorm v10.

+1

Ten komentarz jest nieaktualny. Od Build 142.2822 jest to możliwe [udokumentowane tutaj] (https://www.jetbrains.com/help/phpstorm/2016.1/regular-expression-syntax-reference.html) – KFO

11

Według PHPstorm docs i według mojego testu, to teraz działa:

_\l$1 
+0

Najlepsza odpowiedź już teraz! –