【发布时间】:2016-09-19 21:54:31
【问题描述】:
我正在尝试拆分和重命名一些难看的变量名(例如):
In[1]: import re
ugly_names = ['some-Ugly-Name', 'ugly:Case:Style', 'uglyNamedFunction']
new_names = []
In[2]: patt = re.compile(r'(?<=[a-z])[\-:]?(?=[A-Z])')
In[3]: for name in ugly_names:
loc_name = patt.split(name)
new_names.append("_".join(s.lower() for s in loc_name))
print(new_names)
Out[3]: ['some_ugly_name', 'ugly_case_style', 'uglynamedfunction']
我的模式有什么问题?为什么它与空字符串不匹配,或者我遗漏了什么?
p.s.:Python 的regex 是否可以拆分空字符串,或者我应该使用其他一些函数和.groups()?
【问题讨论】:
-
Python
re.split不能用空字符串分割。使用 PyPi 正则表达式模块。