Regex заменяет прописные буквы строчными буквами в PhpStorm
Эй, я должен изменить во многих местах camelCase на snail_case.
У меня есть следующий пример:
billingAddress
paymentDetails
Я пытался использовать найти и заменить с регулярным выражением в PhpStorm
В поле ввода "найти" я вставил:
([A-Z])
В поле ввода "заменить" я вставил:
_\L$1
Результат я получил:
billing_LAddress
payment_LDetails
Что мне нужно изменить, чтобы получить следующий результат:
billing_address
payment_details
3 ответа
Сначала откройте функцию поиска и замены с помощью CTRL
+ R
а затем установите флажки Match Case
а также Regex
(и при необходимости 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
Документация Regex
Проверьте подробности о дополнительном синтаксисе регулярных выражений в документации по PHPStorm или WebStorm.
Согласно документации по PHPstorm и моему тесту, теперь это работает:
_\l$1
Что мне нужно изменить, чтобы получить следующий результат:
Ничего / Все. Это просто не поддерживается банкомат.
https://youtrack.jetbrains.com/issue/IDEA-70451 - просмотрите этот билет (звезда / голосование / комментарий), чтобы получать уведомления о прогрессе.
ОБНОВЛЕНИЕ: Эта функциональность теперь реализована и доступна начиная с PhpStorm v10.