regex - 只有满足条件,Regex 才能捕获某个字符串?
问题描述
我有这组数据:
- EndDate":"2024-10-24","Employee":"000A0001","Submitted":"N"
- EndDate":"2023-10-18","Employee":"000A0001","Submitted":"P"
- EndDate":"2021-01-02","Employee":"000A0001","Submitted":"J"
- EndDate":"2022-10-11","Employee":"000A0001","Submitted":"M"
- EndDate":"2020-09-18","Employee":"000A0001","Submitted":"N"
我只想捕获Submitted 值为N 或 M的EndDate。
捕获的 EndDate 应该是:
- 2024-10-24
- 2022-10-11
- 2020-09-18
解决方案
捕获日期并使用前瞻:
"EndDate":"([^"]+)"(?=.*"Submitted":"[NM]")
您的结束日期在比赛的第 1 组。
注意:我在正则表达式的开头添加了 '"' ,假设您不小心从看起来是 json 的示例中省略了它。
推荐阅读
- python - str在django中没有添加对象
- c - 在 C 中迭代 Char 数组元素
- scala - 多行字符串到 Spark Dataframe 没有中断
- ecmascript-6 - 目前,如果我们需要对 iterable 或 iterator 执行 reduce 或 forEach,我们是否只需要对其进行 polyfill?
- node.js - 未捕获的错误:[$injector:modulerr] http://errors.angularjs.org/1.7.9/$injector/moduler
- directx-12 - 需要多少栅栏才能在 DirectX 12 中支持多个运行中的帧,每个帧都使用多个命令队列?
- node.js - Node.js fs-extra 只复制部分文件复制
- linux - 如何从 bz2 存档中获取文件列表(ls 命令)?
- dockerfile - 容器构建期间创建的文件不会被保留
- oracle - Oracle APEX - 关闭另一个页面 2(页面模式 = 模式对话框)后刷新父页面 1(交互式报告)