我有这组数据:
- 结束日期":"2024-10-24","员工":"000A0001","已提交":"N">
- 结束日期":"2023-10-18","员工":"000A0001","已提交":"P">
- 结束日期":"2021-01-02","员工":"000A0001","已提交":"J">
- 结束日期":"2022-10-11","员工":"000A0001","已提交":"M">
- 结束日期":"2020-09-18","员工":"000A0001","已提交":"N">
我只想捕获"已提交"值为N 或 M的"结束日期"。
捕获的结束日期应为:
- 2024年10月24日
- 2022年10月11 日
- 2020年09月18 日
是的,您可以通过正则表达式正面展望来做到这一点:
d{4}-d{2}-d{2}(?=.+"Submitted":"[NM]")
更多细节在这里:正则表达式前瞻、后视和原子组
捕获日期并展望未来:
"EndDate":"([^"]+)"(?=.*"Submitted":"[NM]")
您的结束日期位于比赛的第 1 组中。
注意:我在正则表达式的开头添加了",假设您不小心从似乎是 json 的示例中省略了它。