javascript - RegEx 与 MT940 语句中的最后一行不匹配 :86: tag

标签 javascript regex

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

我希望能够匹配 :86: 标记行的最后一行(如果我没记错的话,最多可以有 4 行)。目前,我不匹配最后两行,只匹配前两行。我尝试过使用 \S\s 等使用各种组合。但我无法达到匹配这两行的位置。我尝试过积极的前瞻性,但没有成功。

我的正则表达式::([0-9]{2}[A-Z]?):(.*(?:\r?\n)?(?:(?!:[0-9] {2}[A-Z]?:).*)?)

还有一个条件:它不应与最后一行中的 -} 匹配。忘记添加这个了。

最佳答案

你已经快完成了,只需要一个量词来匹配接下来的几行:

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

参见live demo here

关于javascript - RegEx 与 MT940 语句中的最后一行不匹配 :86: tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52611008/

相关文章:

regex - 排除正则表达式 bash 脚本

php - 如果不包含 "{"和 "}",则抓取 {...} 内的所有字符

javascript - 检查至少一个文本区域已被填充

JavaScript 和 HTML 图像映射

javascript - Iron Router 在实际更改模板之前 Hook 路线

java - 使用正则表达式检查数字范围

regex - 在 emacs 标题行中设置正则表达式

javascript - 如何在 react-native 中传递子项和父项之间的数据?

javascript - 重试模式弹出 AngularJS

正则表达式拒绝匹配,因为 Instr