代码之家  ›  专栏  ›  技术社区  ›  Alex Nikitin

Regex获取字母单词和数字之间的所有内容

  •  0
  • Alex Nikitin  · 技术社区  · 2 年前

    我有一个字符串示例

    Я, Филиппова Яна Сергеевна, 17.09.2001 года рождения
    

    我需要提取角色之间的所有内容 Я, (始终固定)和之前 , 17.09.2001 (不固定,可以是其他日期)

    我想 Филиппова Яна Сергеевна 作为输出,不包括逗号 我试过这样的 Я,(.*)17.09.2001 匹配一般模式,但没有成功

    1 回复  |  直到 2 年前
        1
  •  1
  •   Chris Ruehlemann    2 年前

    您可以使用lookaround语法:

    (?<=Я, )[^,]+(?=, \d+\.\d+\.\d+)
    

    工作原理:

    • (?<=Я, ) 如果存在文本,则进行正向查找以匹配 Я, 左侧(包括空格)
    • [^,]+ 一个或多个字符 逗号
    • (?=, \d+\.\d+\.\d+) 如果右侧有类似日期的字符串,则进行正向前瞻匹配