使用 OO-Regular 表达式获取子匹配
通过使用类 CL_ABAP_MATCHER 的方法 GET_SUBMATCH,我们可以获得组/子组中的数据。
目标:获取关键字类型右侧的令牌。
DATA: lv_pattern TYPE string VALUE 'type\s+(\w+)',
lv_test TYPE string VALUE 'data lwa type mara'.
CREATE OBJECT ref_regex
EXPORTING
pattern = lv_pattern
ignore_case = c_true.
ref_regex->create_matcher(
EXPORTING
text = lv_test
RECEIVING
matcher = ref_matcher
).
ref_matcher->get_submatch(
EXPORTING
index = 0
RECEIVING
submatch = lv_smatch.
结果变量 lv_smatch 包含值 MARA。