正则表达式与MT940语句的最后一行不匹配:86:标签

时间:2018-10-02 14:55:32

标签: javascript regex

我有以下正则表达式:https://regex101.com/r/GMuKFI/2

我希望也能匹配:86:标签行的最后一行(如果我没记错的话,最多可以有4行)。目前,我不匹配最后两行,仅匹配前两行。我已经尝试过使用\S\s等各种组合。但是我无法达到我要匹配两行的位置。我尝试了积极的前瞻性,无济于事。

我的RegEx::([0-9]{2}[A-Z]?):(.*(?:\r?\n)?(?:(?!:[0-9]{2}[A-Z]?:).*)?)

另一个条件:它不应与最后一行中的-}相匹配。忘记添加它。

1 个答案:

答案 0 :(得分:1)

您快到了,只需要一个量词来匹配下一行:

:([0-9]{2}[A-Z]?):((?:.*[\r\n]*(?:(?!:[0-9]{2}[A-Z]?:|-}).*))*)
                  ^^^^                               ^^^    ^^^ 

请参见live demo here