正则表达式在PhpStorm中用小写字母替换大写字母

dj_*_*ssi 19 regex phpstorm

嘿,我必须在很多地方改变camelCase到snail_case.

我有以下示例:

billingAddress
paymentDetails
Run Code Online (Sandbox Code Playgroud)

我试图在PhpStorm中使用find和替换正则表达式

在'find'输入字段中我输入:

([A-Z])
Run Code Online (Sandbox Code Playgroud)

在"替换"输入字段中我输入:

_\L$1
Run Code Online (Sandbox Code Playgroud)

结果我得到了:

billing_LAddress
payment_LDetails
Run Code Online (Sandbox Code Playgroud)

为了获得以下结果,我需要更改什么:

billing_address
payment_details
Run Code Online (Sandbox Code Playgroud)

Wil*_*ilt 41

首先使用CTRL+ 打开"查找和替换"功能,R然后选中复选框Match CaseRegex(如有必要In Selection):

在此输入图像描述


1.camelCase替换为snail_case,如问题所示:

找到: ([A-Z])
替换: _\l$1

someThing -> some_thing


2.大写单词替换为小写单词使用\L

找到: (\w*)
替换: \L$1

SOMETHING -> something


3.小写单词替换为大写单词使用\U

找到: (\w*)
替换: \U$1

something -> SOMETHING


4.要替换文字的第一个字符小写使用\l

找到: (\w*)
替换: \l$1

Something -> something


5.要替换与字的第一字符大写使用\u

找到: (\w*)
替换: \u$1

something -> Something


注意:添加一些额外的边界

通过添加一些适合您特定情况的附加边界,您可以获得最佳结果,例如单'引号"或双引号或换行符\n


正则表达式文档

检查有关其他正则表达式语法的详细信息,请参阅PHPStormWebStorm的文档.


小智 12

根据PHPstorm文档并根据我的测试,这现在有效:

_\l$1
Run Code Online (Sandbox Code Playgroud)