[英]Regex multiple lines and capture specific text between
我有以下字符串(除了第一行,这是我的起点):
Action 0100: Register:
2021.01.05 14:38:08 CET
REF: 12345678910
FAK: Street,ZIP
===========================
我想捕获日期行到等号行之间的所有内容。
REF: 12345678910
FAK: Street,ZIP
起初我只有一行时尝试过类似的方法,但是当我同时有 REF 和 FAK 行时,我需要更好的东西:
(?:.+Register.+\n.+\n)(.+)
我想将所有内容都捕获到一个组中。 因为我需要验证是否还有其他行然后是 REF 或 FAK
您可以使用
Register(?:[^\r\n]*\r?\n){2}([^\r\n]+(?:\r?\n[^\r\n]+)*)
详情:
Register
- 一个固定的字符串(?:[^\r\n]*\r?\n){2}
- 除了 CR 和 LF 之外的零个或多个字符的两个序列,然后是一个可选的 CR,后跟一个 LF 字符([^\r\n]+(?:\r?\n[^\r\n]+)*)
- 第 1 组:
[^\r\n]+
- CRLF 以外的一个或多个字符(?:\r?\n[^\r\n]+)*
- CLRF 或 LF 行结束序列的零次或多次重复,然后是 CR 和 LF 以外的一个或多个字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.