[英]Regex matching multiple lines multiple times without matching date and time
\s*([^:]+?)\s*:\s*(.*(?:\s*(?!.*:).*)*)\s*
此解決方案匹配日期和時間字符串。
如何修改上述解決方案,使日期和時間包含在描述中:header?
Name: John Doe
Age: 23
Primary Language: English
Description: This is a multiline
description field that I want
to capture Fri, 02 Sep 2022 14:46:45 -0500
Country: Canada
一個選項可能是在冒號前的第一部分排除匹配逗號:
^([^,:\n\r]+):(.*(?:\R(?![^,:\n\r]+:).*)*)
另一種選擇可能是斷言要匹配的下一行不只包含一個冒號:
^([^:\n\r]+):(.*(?:\R(?![^:\n\r]+:[^:\n\r]*$).*)*)
解釋
^
字符串開頭([^:\n\r]+)
捕獲組 1 ,匹配除:
或換行符以外的 1+ 個字符:
從字面上匹配(
捕獲組 2
.*
匹配線的rest(?:
非捕獲組
\R
匹配任何 unicode 換行序列(?:[^:\n\r]+:[^:\n\r]*$)
斷言該行不包含單次出現的:
.*
匹配整行)*
關閉非捕獲組並可選擇重復它以匹配所有行)
關閉第 2 組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.