如何在这里使用Ignore案例?

时间:2014-02-28 03:11:22

标签: python regex dictionary

在我的代码中:

  d={ 'h' : 'hhh' , 'l' : 'lll'}
  enpattern = re.compile(r'(.)\1?')
  str='HeLlo'
  result = [x.group() for x in enpattern.finditer(str)]
  data=''.join(map(lambda x:D.get(x,x),result))
  print data

此代码从字符串中获取每个char并将其与字典中的键进行比较,并为我提供相应的值。但是这里使用finditer()方法时如何忽略CASE灵敏度?

1 个答案:

答案 0 :(得分:1)

根据您的评论,您希望获得hhhellllllo,这就是您所期望的

result = [m.lower() for x in enpattern.finditer(my_string) for m in x.group()]
data   = ''.join(map(lambda x: d.get(x, x),result))

并且不要将变量命名为str,因为它会影响内置str函数

注意:您根本不需要RegEx来获取该输出。它是一个简单的单行

print ''.join(map(lambda x: d.get(x, x), my_string.lower()))
# hhhellllllo