【问题标题】:Extract part of string from certain position using regex使用正则表达式从某个位置提取部分字符串
【发布时间】:2018-10-26 15:09:50
【问题描述】:

要搜索的字符串 = “与 A 公司有关”

文档包含两行

(a) in relation to Company A, 31 December 2025;
(b) in relation to Company A, Company B, Company C is 31 December 2025;

我正在尝试的正则表达式 = "(?<=in relation to Company A)(.*)"

但这给了我两行,我只需要第一行:

需要输出(表示提取点(a)):

31 December 2025

我正在努力更改正则表达式,以便在单词后添加日期部分...

【问题讨论】:

  • 几个表达式可能会有所帮助,例如in relation to Company A,\s*(\d+.+),这需要在您的针后至少一位数。
  • @Jan - 你能把它添加为答案,因为它对我有用吗...

标签: regex


【解决方案1】:

对于您给出的示例,您可以使用

in relation to Company A,\s*(\d+[^\n\;]+)

并参加第一组,请参阅the demo on regex101.com


这表示
in relation to Company A, # "in relation to Company A," literally
\s*                       # 0+ whitespaces
(\d+[^\n\;]+)             # at least one digit + not a newline nor a semicolon

最后在你的编程语言/工具中使用第一组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2021-12-30
    • 2011-07-12
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多