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

时间:2015-06-19 11:55:37

标签: regex phpstorm

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

我有以下示例:

billingAddress
paymentDetails

我尝试在PhpStorm

中使用find和replace with regex

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

([A-Z])

在'replace'输入字段中输入:

_\L$1

结果我得到了:

billing_LAddress
payment_LDetails

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

billing_address
payment_details

3 个答案:

答案 0 :(得分:36)

首先使用 CTRL + R 打开“查找和替换”功能,然后选中Match Case和{{1}框(如有必要Regex):

enter image description here

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

发现: In Selection
替换: ([A-Z])

_\l$1

2. 要将大写字词替换为小写字词,请使用someThing -> some_thing

发现: \L
替换: (\w*)

\L$1

3. 要将小写字词替换为 UPPERCASE 字词,请使用SOMETHING -> something

发现: \U
替换: (\w*)

\U$1

4. 要用小写替换单词的第一个字符,请使用something -> SOMETHING

发现: \l
替换: (\w*)

\l$1

5. 要用 UPPERCASE 替换单词的第一个字符,请使用Something -> something

发现: \u
替换: (\w*)

\u$1

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

通过添加一些适合您特定情况的其他边界,您可以获得最佳效果,例如单something -> Something或双引号'或换行"

正则表达式文档

检查其他正则表达式语法的详细信息PHPStormWebStorm的文档。

答案 1 :(得分:12)

根据PHPstorm docs并根据我的测试,现在可以使用:

_\l$1

答案 2 :(得分:3)

  

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

没什么/一切。它根本不支持ATM。

https://youtrack.jetbrains.com/issue/IDEA-70451 - 观看此门票(明星/投票/评论)以获得进展通知。

<强>更新 从PhpStorm v10开始,此功能现已实施并可用。

相关问题