Die regulären Ausdrücke, die ich verwendet habe (ABAP)

Vorwort

Einfache, wie z. B. nur Zahlen oder Buchstaben usw. enthalten, können durch den Ausdruck CA oder CO realisiert
werden, die Übereinstimmung regulärer Ausdrücke kann durch die Schlüsselwörter find, match oder count realisiert werden.
Liste
derzeit nur eine

Eigenschaften Ausdruck Bemerkungen
Ungültiges Zeichen [^[:print:]] Zeichen, die vom SAP-System nicht unterstützt werden
Chinesisch [u4E00-u9FA5] Chinesische Schriftzeichen und Symbole

Beispielcode

 constants:
      "          lc_chinese_regex type string value '[^u4E00-u9FA5]+$', "匹配汉字及符号
      lc_em_char      type string value '()、。、,、’', "全角正则表达式
      lc_lower_case   type string value 'qwertyuiopasdfghjklzxcvbnm' ##NO_TEXT,
      lc_common_regex type string value '[0-9A-Z、-]'
      "              lc_em_regex      type string value '[()、。、,、’]'
      . "全角符号

    "汉字和半角前台显示两个字符,字母和半角显示为1个字符
    "汉字只能和全角字符组合,英文只能和半角字符组合
    "因此,通过计算字符长度和显示长度的余数,即可判断是否合法
    data(lv_name_display_length) = cl_abap_list_utilities=>dynamic_output_length( <fs_bp_basic>-zzbpnm  ).
    data(lv_name_char_strlen) =  strlen( <fs_bp_basic>-zzbpnm  ).

    "计算通用字符长度(在中英文名称中均可能出现)
    data(lv_common_length) = count( val = <fs_bp_basic>-zzbpnm  regex = lc_common_regex ).
    "减去通用字段长度后,计算余数
    data(lv_div) = ( lv_name_display_length  - lv_common_length )  mod ( lv_name_char_strlen  - lv_common_length ).
    if lv_div ne 0.
      message e041 into data(lv_zmdg_041).
      lv_error_message = lv_error_message  && '/' && lv_zmdg_041.
    endif.

Ich denke du magst

Origin blog.csdn.net/u012232542/article/details/108976320
Empfohlen
Rangfolge