python正则


最近业务上遇到一个坑,解决优化的思路很明确但是坑很多,现在记录下关于python正则的坑点:

对于一个文本文件,包含很多重复的字符,这些字符串的分别为, Man 和 WoMan, SuperHeroMan

比如文本为:

 Man

 Man

WoMan

 Man

SuperHeroMan

SuperHeroMan

WoMan

WoMan

现在业务要求将这三个字符串每个大写字母替换成 "_"再加原先大写字母的小写形式,首字母仅变为小写, 比如WoMan变成wo_man,SuperHeroMan变为super_hero_man

对于Man,如果匹配整个文本里的"Man"然后变成"man"的话,相应的WoMan, SuperHeroMan就会变成"Woman","SuperHeroman"

此时应该注意到应该采取匹配整个string的方式,正则表达为 \bMan\b , 这样只有一个完整的variable才会被匹配,不会出现部分匹配的情况