代码之家  ›  专栏  ›  技术社区  ›  Afsan Abdulali Gujarati

所选正则表达式组中的正则表达式替换

  •  0
  • Afsan Abdulali Gujarati  · 技术社区  · 6 年前

    我有以下字符串

    我只在9月12日至14日在这个地方工作。我会回来的 明年5月10日至15日。

    使用下面的正则表达式,我能够捕获字符串的必需部分,即从下一个月到下一个日期

    (\w+\s?)(\d{1,2}\s?)-(\d{1,2})

    这个正则表达式返回2个完全匹配

    • 第1组 :九月
    • 第2组

    匹配2

    • 完全匹配
    • 第1组 :五月
    • 第2组
    • 第3组

    我想要的是使用regex替换在第3组之前插入第1组。

    我计划在python中使用它。

    我只在9月12日至9月14日期间在这个地方工作。我会回来的

    1 回复  |  直到 6 年前
        1
  •  1
  •   CertainPerformance    6 年前

    你可以匹配

    (\w+) ?(\d{1,2} ?-)(\d{1,2})
    

    \1 \2\1 \3
    

    https://regex101.com/r/Zcqsr2/1

    import re
    str = 'I only work between September 12 -14 at this place. I will be back between May 10-15 next year.'
    print(re.sub(r'(\w+) ?(\d{1,2} ?-)(\d{1,2})', r'\1 \2\1 \3', str))