我正在尝试捕获[dockercloud_servers]
,直到下一个[
(redis_servers的开头)开始。但是,我不想捕获[
最后一个括号。
我尝试过?:
,但我似乎无法忽略最后一个括号,任何想法?
链接: https://regex101.com/r/fYRiJR/1
OR:
正则表达式
(\[dockercloud_servers\]){1}(?:[^ ]+\[)
内容
[dockercloud_servers]
x
y
[redis_servers]
x
x
答案 0 :(得分:1)
您必须在结尾处使用[
进行正向前瞻,如下所示:
(?:\[dockercloud_servers\]){1}(?:[^ ]+)(?=\[)
演示:https://regex101.com/r/fYRiJR/3
或者,您可以通过编写单词的开头缩短代码,然后使用[\s\S]+
捕获其余代码,直到[
\[docker[\s\S]+(?=\[)
答案 1 :(得分:1)