正则表达式比较复杂,但是会用正则表达式,秒杀很多程序员,因为别人写了一堆的烂代码,你一句就搞定了。

se24 CL_ABAP_MATCHER

练习1:
^[0-9]+abc$
^ 为匹配输入字符串的开始位置。

[0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。

abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置。

上面这个正则表达式 翻译出来就是 ^开始搜索0到9的任何数字,并且还加一个abc结尾的。

用abap语言来测试

DATA: matcher TYPE REF TO cl_abap_matcher,
      match   TYPE match_result,
      itab    TYPE match_result_tab,
      line    LIKE LINE OF itab.
matcher = cl_abap_matcher=>create( pattern = '^[0-9]+abc$' text = '123abc' ).
itab = matcher->find_all( ).
LOOP AT itab INTO line.
  WRITE: / matcher->text,line-offset,line-length,matcher->text+line-offset(line-length).
ENDLOOP.

运行结果:
123abc 0 6 123abc


风口的猪会飞
13 声望20 粉丝

ABAP PI 开发 这个世界没有神,如果有那也是别人口中的神而已!


引用和评论

0 条评论