Python регулярное выражение, как игнорировать поиск с начала строки - PullRequest
0 голосов
/ 04 апреля 2020

Ввод: - "INeedSomeHelpWithARegex"

Ожидаемый вывод: - "I_Need_Some_Help_With_A_Regex"

То, что я пытался

import re
print(re.sub(r'([A-Z])([a-z]*)',r'_\1\2',"INeedSomeHelpWithARegex"))

Фактический вывод получил: - "_I_Nith_eegex *

Как мы можем избежать "_" в начале

1 Ответ

1 голос
/ 04 апреля 2020

Вы можете использовать lookarounds, чтобы выбрать место для вставки подчеркивания; заглавная буква для заглавной буквы и заглавная буква для заглавной буквы:

import re
print(re.sub(r'(?<=[A-Za-z])(?=[A-Z])', '_', "INeedSomeHelpWithARegex"))

Вывод:

I_Need_Some_Help_With_A_Regex
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...