gpt4 book ai didi

正则表达式匹配后的第一个单词和特定行中的最后一个单词

转载 作者:行者123 更新时间:2023-12-04 07:44:43 24 4
gpt4 key购买 nike

我坚持使用以下表达式。

RECOVER FROM:
Company 1
Bla: Bla
Bla: Bla

DELIVER TO:
Sypris Solutions, Inc.
Street 123
City ZIP US
Bla: Bla
Bla: Bla
Bla: Bla
我想过滤以“DELIVER TO:”开头的公司信息
使用\bDELIVER TO:\s+\K\S+,我得到了第一行“DELIVER TO:”之后的第一个单词(这很好,因为我们只需要知道公司名称的第一个单词即可获得线索)。
目标是让“DELIVER TO:”之后的行中的第一个单词作为第 1 组返回。
第三行中的最后一个单词(在本例中为国家代码“US”)应作为第 2 组返回。
https://regex101.com/r/hU6lfr/1
任何帮助深表感谢。

最佳答案

您可以使用

\bDELIVER TO:\R\h*(\S+).*(?:\R.*){2}.*\h(\S+)
regex demo
细节:
  • \b - 一个词边界
  • DELIVER TO: - 一个子串
  • \R - 换行符字符序列
  • \h* - 零个或多个水平空白
  • (\S+) - 第 1 组:一个或多个非空格
  • .* - 除换行符以外的任何零个或多个字符,尽可能多(行的其余部分)
  • (?:\R.*){2} - 两行
  • .* - 除换行符以外的零个或多个字符,尽可能多
  • \h - 水平空白
  • (\S+) - 第 2 组:一个或多个非空格。
  • 关于正则表达式匹配后的第一个单词和特定行中的最后一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67255238/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com