gpt4 book ai didi

regex - 正则表达式中的单引号和反引号

转载 作者:行者123 更新时间:2023-12-02 15:40:05 24 4
gpt4 key购买 nike

我正在尝试匹配字符串中的单引号,如果它存在,我想使用 WRITE 显示它。

    data text type string value `this is a string containing a ' single quote`.
find regex `(\'|%27)` in text.
if sy-subrc = 0.
write 'found'.
endif.

我遇到的问题是我不理解 ABAP 正则表达式中反引号字符的行为。并且无法在网上找到解释其工作原理的资源。我使用它得到的结果很奇怪,具体取决于匹配项上方的 TEXT 字符串是有效还是失败。

在 PERL 中,您可以执行诸如在字符串中搜索字符串变量之类的操作,例如/:

    my $tofind = "'"; //a single quote
my $text = "this is a string containing a ' single quote";
if($text=~m/$tofind/){
print "found";
}

这个方法可以在ABAP中使用吗,或者有人可以解释一下如何在ABAP中使用反引号吗?

最佳答案

在这种情况下您不需要反引号,但是我认为您正在寻找的是转义字符以表明 ' 是字符串/正则表达式的一部分

data text type string value `this is a string containing a '' single quote`.
    find regex `(''|%27)` in text.
    if sy-subrc = 0.
    write 'found'.
    endif.

注意定义的字符串和正则表达式中的额外 '。

编辑:为了回应您对文档的评论,如果您将光标定位在单词 regex 上执行 F1(帮助),您应该能够访问 SAP 的正则表达式帮助。看起来大部分语法都记录在那里。 (或者,只需按 F1 并搜索正则表达式)。

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

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