regex - RegEx 匹配除换行符之外的任何内容,直到正前瞻
问题描述
我正在尝试将某些文本行匹配到 RegEx (PCRE) 中的特定字符串。这是一个例子:
000000
999999900
20.10.19
Amoxicillin 1000 Heumann 20 Filmtbl. N2 - PZN: 04472730
-
Dr. Max Mustermann
在本文中,我想完全匹配这部分:
Amoxicillin 1000 Heumann 20 Filmtbl. N2
相似之处始终是 PZN 的部分,以及我想匹配的每一行末尾的 7-8 位数字。但是,PZN 部分有时可能位于下一行,而不是直接位于其后面:
000000
999999900
20.10.19
Amoxicillin 1000 Heumann 20 Filmtbl. N2
- PZN: 04472730
-
Dr. Max Mustermann
所以它要么直接在它后面,要么在下一行。我尝试使用此 RegEx 这样做:
.*(?=[ \-\r\n]+PZN)
这确实有效,但是,在上面的第一个示例中,它与此匹配:
Amoxicillin 1000 Heumann 20 Filmtbl. N2 -
注意末尾的“-”。这不应该包含在比赛中。我想 RegEx 会优先考虑该.*
部分,因为它是从左到右工作的,因此只会删除前瞻的最后一个字符。不过,我不知道该怎么做。
有任何想法吗?
解决方案
推荐阅读
- c++ - 我可以将 CRTP 与虚函数或仿函数一起用于访问者算法,以容忍对类的更改吗
- python - 如何使用boto3查找S3的每个桶的大小
- java - Room 和 Livedata 误报通知
- laravel - 使用 Axios、Vue、Laravel 删除对象
- c# - OpenID 的 Swashbuckle 问题
- javascript - Jquery - 自定义确认对话框
- mysql - MySQL:计算 2 个不同表中的匹配行
- angular - 使用 Angular 7 在 Azure Maps 帐户中启用 CORS
- java - 查询或创建一个算法来关联 Firebase 数据库上 main 的 2 个子项?
- jquery - Jquery 事件 Draggable、Resizeable 不适用于 html '