正则表达式用 PhpStorm/Webstorm 中的小写字母替换大写字母 (Intellij-IDEA)

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

嘿,我必须在很多地方将驼峰式更改为 snail_case。

我有以下示例:

billingAddress
paymentDetails

我尝试在 PhpStorm 中使用正则表达式查找和替换

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

([A-Z])

在'replace'输入栏中我输入:

_\L

我得到的结果:

billing_LAddress
payment_LDetails

我需要更改什么才能获得以下结果:

billing_address
payment_details

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

Nothing/Everything。根本不支持ATM。

https://youtrack.jetbrains.com/issue/IDEA-70451 -- 观看这张票 (star/vote/comment) 以获得进度通知。


更新: 自 PhpStorm v10 以来,此功能现已实现并可用。

根据 PHPstorm docs 和我的测试,这现在有效:

_\l

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


1.camelCase 替换为 snail_case问题:

查找: ([A-Z])
替换: _\l

someThing -> some_thing


2. 要将 UPPERCASE 单词替换为 lowercase 单词,请使用 \L

查找: (\w*)
替换: \L

SOMETHING -> something


3. 要将 小写 单词替换为 大写 单词,请使用 \U

查找: (\w*)
替换: \U

something -> SOMETHING


4. 要用 小写 替换单词的第一个字符,请使用 \l

查找: (\w*)
替换: \l

Something -> something


5. 要用 UPPERCASE 替换单词的第一个字符,请使用 \u

查找: (\w*)
替换: \u

something -> Something


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

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


正则表达式文档

查看 PHPStorm or WebStorm 的文档以获取有关其他正则表达式语法的详细信息。