gpt4 book ai didi

标识 COBOL 中部分的正则表达式

转载 作者:行者123 更新时间:2023-12-02 03:33:37 33 4
gpt4 key购买 nike

我正在为 Brackets 定制一个大纲插件,它使用正则表达式来识别当前打开的文件的大纲。

我使用 regex101.com 创建了以下正则表达式(使用环视来确定该行以七个空格开头并以“SECTION.”结尾):

(?<=^       )([A-Za-z\-0-9]*)(?= SECTION\.[ ]*$)

根据 regex101.com 的说法,这是可以的,但是当通过 jshint/jslint 验证时,它声明它无效。当我测试它时,它不起作用(我怀疑 JSHint/JSLint 是正确的)。

以下是一些 Cobol 代码的示例,我希望在其中获得 2000-GET-EXPECTED-BY-DATE 和 2020-GET-DUE-DATE。

          ...
2000-GET-EXPECTED-BY-DATE SECTION.
MOVE '2' TO W10-OPTION.

...

ELSE
MOVE 'Y' TO W10-NO-ERRORS
END-IF.

2017-EXIT.
EXIT.
/
2020-GET-DUE-DATE SECTION.
2020.

MOVE 'N' TO W10-USER-INPUT-DUE-DATE-SW.
MOVE '1' TO W10-OPTION.
...

所以我的问题是:

  • 正则表达式是否有效?
  • 如果无效,那我做错了什么?
  • 我应该如何编写正则表达式来查找每个部分的名称?

最佳答案

这对我来说很有用,可以找到带有“SECTION”的行:

^[ ]{7}(.*)[ ]SECTION\.$

演示: http://regex101.com/r/zC1xY6/2

如果您只想要部分名称:^[ ]{7}\d+\-(.*)[ ]SECTION\.$

关于标识 COBOL 中部分的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153472/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com