代码之家  ›  专栏  ›  技术社区  ›  Kevin_ALA

在另一场比赛之前,在线路上匹配一个换行符

  •  0
  • Kevin_ALA  · 技术社区  · 2 年前

    A = 1
    B = 2
    C = 3
    A = 10
    B = 20
    C = 30
    

    我只想匹配A=*

    我的尝试也将匹配A=*和换行符

    代码:

    [\r\n]+.*A.*
    

    可以使用lookbehind吗?

    我的尝试有效,但只剩下两组,我只能访问第2组。我希望只在一组中完成这项工作

    ([.*\r\n])(.*A.*)
    
    2 回复  |  直到 2 年前
        1
  •  2
  •   RootTwo    2 年前

    我想你是想把字符串分成ABC组。寻找一个 \n

    text = """\
    A = 1
    B = 2
    C = 3
    A = 10
    B = 20
    C = 30
    """
    
    re.split(r"\n(?=A)", text)
    

    返回:

    ['A = 1\nB = 2\nC = 3', 'A = 10\nB = 20\nC = 30\n']
    

    re.search() re.finditer() 获取匹配对象。

        2
  •  0
  •   richlowe    2 年前

    $[\s]+^在Adobe括号中工作,每个RegExp编辑器都不同,但我通常会尝试将$(行尾)和^(行首)与\s结合使用,这是任何空格,包括新行,以匹配您想要的内容。

    编辑:

    为实现前瞻性,请尝试以下操作:

    ($\s*)^(?=A)