我需要匹配并使用以下文本
... and the start date is [startDate]|(D jS M Y g:iA).
匹配项应返回()
之后的[startDate]|
括号之间的任何字符(在本例中为D jS M Y g:iA
),但应是动态的,以便匹配[ ]|
之后的任何字符。即,也应该使用标签[otherDate]|(D jS M Y)
我尝试过使用积极的前瞻性,但未能获得所需的结果。
答案 0 :(得分:2)
如下所示的模式将捕获括号之间的部分:
\[[^\]]*\]\|\(([^\)]*)\)
第一部分与一个开放括号匹配,然后与0个或多个非封闭括号匹配,最后与一个封闭括号匹配:
\[[^\]]*\]
其余类似。
也许可以在https://regex101.com/上尝试一下。
答案 1 :(得分:-1)
\[startDate\]\|\((.*)\).+
或没有必需的“。”最后:
\[startDate\]\|\((.*)\)