【问题标题】:Regex capture specific strings in between正则表达式捕获之间的特定字符串
【发布时间】:2023-01-10 16:20:22
【问题描述】:

如何在正则表达式中捕获特定字符串。我想为分号 (;) 和 PV 之间的那些字符串捕获类似的字符串,但只针对那些在分号 (;) 之后没有字母 O 的字符串。似乎缺少我的模式。顺便说一句,PHP 可能会不时变化。

Pattern: [^O][A-Z]{3}\d.*PV

Dataset in rows.
1. KPTP; PHP10.00    AA ZA; PHP20.00    PV ZB;OPHP1000.00   PV ZC


2. KPTP;OPHP20.00    PV ZA;OPHP20.00    BB AA ZB; PHP500.00   PV ZC    

Desired Result
1. 20.00
2. 500.00

【问题讨论】:

  • 您的实际输入是什么样的?它是一个文件吗?
  • 抱歉,项目编号 1 用于第 1 行,项目编号 2 用于数据集中的第 2 行,因此它逐行解析。

标签: regex


【解决方案1】:

使用前瞻和后视:

(?<=(;[^O]PHP))d+(.)d+(?=(s+PV))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多