正则表达式在第一次出现时停止

问题描述 投票:-1回答:1

所以我有这段文字:

:40C:something1

something2

:42A: something3

something4

something5

:42B: something6

something7

:42C: somethin8

something9

我第一次出现后需要停止:42X:... X是字母(任何字母)

因此,如果我从:42A开始:返回的文本将是:

:42A:something3

something4

something5

但是问题是:42B:可能不存在,可能是:42C:因此,如果在:42A之后:我没有:42B:但我拥有:42C:它应该在:42C停下来:

所以我需要一个从:42A:开始并在第一次出现:42X之后停止的模式:而且它也需要是多行的,因为我没有弄清楚如何在VB.NET中使用multine,所以我使用(。| \ n)*作为模式

到目前为止,我尝试了这个但没有用:

(?<=:42A:)((.|\n)*)(?=:42.:)

但是此事件在最后一次出现后停止,在这种情况下是:42C:这是不正确的

我正在使用VB.NET作为语言的UiPath Studio中进行编程。

regex vb.net
1个回答
0
投票

您的模式(?<=:42A:)((.|\n)*)(?=:42.:)不考虑像^这样的锚点,因此无需使用多行。

© www.soinside.com 2019 - 2024. All rights reserved.