我编写了一个python正则表达式,将snake_case转换为camelCase,如下所示:
import re
snake_regex = re.compile(r'([a-z])_([a-z])')
snake_case因此由a-z(第一组)之间的一个字符加上下划线加上a-z(第二组)之间的另一个字符来标识。 要转换为camelCase,我使用sub()方法自己替换组1,然后省略下划线,并用其大写字母替换组2,如下所示:
snake_regex.sub(r'\1' + r'\2'.upper(), 'snake_case_is_nice')
但是,第二组总是被自身替换,就像未应用.upper()方法一样。请怎么回事?
示例:
snake_regex.sub(r'\1' + r'\2'.upper(), 'snake_case_is_nice')
给我:“ snakecaseisnice”,而我期望“ snakeCaseIsNice”