FORM frm_day_check USING p_start_day
p_success.
DATA: pattern TYPE string VALUE '^(0?[1-9]|[12][0-9]|3[01])$',
matcher TYPE REF TO cl_abap_matcher,
text TYPE string.
text = p_start_day.
IF cl_abap_matcher=>matches( pattern = pattern
text = text
) = abap_true..
" 匹配成功,数字在1到31之间
p_success = abap_true.
ELSE.
" 匹配失败,数字不在1到31之间
p_success = abap_false.
ENDIF.
ENDFORM. " FRM_DAY_CHECK