Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regex replace uppercase with lowercase letters in PhpStorm/Webstorm (Intellij-IDEA)

Hey I have to change in a lot of places camelCase to snail_case.

I have following example:

billingAddress paymentDetails 

I tried to use find and replace with regex in PhpStorm

In 'find' input field I put in:

([A-Z]) 

In 'replace' input field I put in:

_\L$1 

Result I got:

billing_LAddress payment_LDetails 

What do I need to change in order to get following result:

billing_address payment_details 
like image 257
dj_thossi Avatar asked Jun 19 '15 11:06

dj_thossi


People also ask

How do I find regex expressions in IntelliJ?

In IntelliJ IDEA 11 you can check your Regular Expressions while coding without leaving the IDE. Just invoke the 'Check RegExp' intention action on a regular expression and play! Tip: You can turn any string into a regular expression by injecting RegExp language. Try the 'Inject Language' intention action.


1 Answers

First open Find and Replace functionality with CTRL + R and then check the boxes Match Case and Regex (and if necessary In Selection):

enter image description here


1. To replace camelCase to snail_case as in in the question:

find: ([A-Z])
replace: _\l$1

someThing -> some_thing


2. To replace UPPERCASE words to lowercase words use \L

find: (\w*)
replace: \L$1

SOMETHING -> something


3. To replace lowercase words to UPPERCASE words use \U

find: (\w*)
replace: \U$1

something -> SOMETHING


4. To replace first character of words with lowercase use \l

find: (\w*)
replace: \l$1

Something -> something


5. To replace first character of words with UPPERCASE use \u

find: (\w*)
replace: \u$1

something -> Something


Note: Add some extra boundaries

You get best results by adding some additional boundaries that suit your specific case, for example single ' or double quotes " or line breaks \n


Regex Documentation

Check for details on additional Regular Expression Syntax the documentation for PHPStorm or WebStorm.

like image 107
Wilt Avatar answered Sep 17 '22 05:09

Wilt