用Word_Number替换字数字符串

时间:2016-02-27 01:37:24

标签: python regex

我在Python中使用Regex将Word Number对替换为以下格式Word_Number

例如:

import re
text = 'Opera 20 Opera 19 Version Hello World'.lower()
text = re.sub(r'(\[a-z]+)( )(\d)', r'\1_\2', text)
# text = re.sub(r'\([a-z]+)(.*)(\d+)', r'\1_\2', text)
print(text)

预期产出:

opera_20 opera_19 version hello world

有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

我认为这就是你的目标

text = re.sub(r'([a-z]+)( )(\d+)', r'\1_\3', text)

变化是

  1. 无法逃脱[
  2. \d需要重复
  3. 捕获群组替换需要\3而不是\2
  4. 您也可以删除空白区域的捕获组

    re.sub(r'([a-z]+)\s+(\d+)', r'\1_\2', text)
    

答案 1 :(得分:0)

试试这个正则表达式

$('#teacherStyles').selectpicker('val', [allSelectedIndexes.join(',')]);