gpt4 book ai didi

regex - OpenEdge 中的正则表达式

转载 作者:行者123 更新时间:2023-12-02 04:47:20 27 4
gpt4 key购买 nike

我想在 OpenEdge 中检查一个变量是否为 Pascal 大小写。

我找到了 matches 运算符,并编写了以下代码:

define variable cVariable as character no-undo.

cVariable = "cPascalCase":U.

message cVariable matches 'c[A-Z]*':U.

但是不行,显示“no”。有没有办法在 OpenEdge 中指定第二个字符应该是大写?还有,要检查变量是否包含以大写开头的单词组?

提前致谢!

最佳答案

MATCHES 不支持正则表达式。 The documentation说它只需要像 .* 这样的简单通配符。如果您知道您的代码将始终在 Windows 上运行,您可以 use the CLR bridge运行 .NET 代码:

USING System.Text.RegularExpressions.*.

DEF VAR cVariable AS CHAR NO-UNDO INITIAL "cPascalCase".
DEF VAR regexp AS CLASS Regex NO-UNDO.

regexp = NEW Regex("c[A-Z]*").
MESSAGE regexp:IsMatch(cVariable).

FINALLY:
DELETE OBJECT regexp.
END.

关于regex - OpenEdge 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19540703/

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