Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- abap #sap #layout #layout 설정
- sap #abap #화폐단위 #sap conversion #inr conversion
- grave #abap #sap #backquote
- abap #정규표현식 #regular expression
- abap move corresponding #abap data이동 #abap correspond mapping
- abap #sap #search hlep #f4 #f4if_int_table_value_request #change column name
- open sql #sap #abap #where exists #where not exists
- abap #initial #null #abap inital vs null
- #apostrophe
- abap #abap_move
- sap #abap #cl_gui_alv_grid #function code #alv
- abap #sap #se16h #data #tcode
- sap #abap #data exists #read table #xsdbool #line exists
- abap #sap #sy-index #sy-tabix #syst
- sap #cts #abap #release #merge cts #request no
- abap #sap #color #row #layout
- abap #se39 #srepo #sap #development #compare code
- abap #sap #sy-datlo #sy-datum #syst #system variable # 시스템변수
- abap #sql #sap #query 실행 순서 #query 작성 순서
- abap #wildcard #와일드카드 #sql #select #where조건
- abap #sap #free #alv #clear #refresh
- abap #sap #conversion #currency #cfield #waers
- abap #sap #conversion #currency #conversion_currency
- abap #sap #hotspotclick #do_sum
- abap #동적 where #동적 select
Archives
- Today
- Total
0v0__DEV
[01] 자주 사용하는 정규표현식 ( Regular Expression in abap ) 본문
728x90
개발을 하다보면 정규표현식을 사용해야 하는 경우가 생긴다.
전화번호, 이메일 주소, 사번 등의 유효성 검사에 유용하게 사용될 수 있다.
전부는 아니고, 자주 사용하는 것 같은 정규 표현식만 아주 소수로 정리함! ( 추후 추가 예정)
^x, .x , [ ] 등 하나 하나 문법과 표현식을 이해하고 활용하면 너무 좋지만! 실제로 프로그램 개발할 때에는
유용한 표현 찾아서 드르륵 할 때가 많음..ㅎㅎ
1. 정규표현식이란?
문자열의 패턴을 표현하는데 사용되는 문자열로 문자,단어 등이 입력한 문자열에 있는지 확인할 때 사용
2. 자주 사용하는 정규표현식
: ABAP에서 정규표현식으로 유효성 체크 할 때에는 CL_ABAP_MATCHER 클래스를 사용하면 됨
EX)
DATA : lo_matcher TYPE REF TO cl_abap_matcher, " CLASS lv_success, " RESULT lv_pattern TYPE char100, " PATTERN lv_field TYPE string. " 대상 FIELD "전화번호 lv_pattern = '[0-9-]+$' . lv_field = '010-1111-1111'. lo_matcher = cl_abap_matcher=>create( pattern = lv_pattern text = lv_field ). lv_success = lo_matcher->match( ). IF lv_success IS INITIAL. WRITE : 'WRONG NUMBER'. ENDIF. 선언 : 1) matcher class 2) Result 담을 변수 : True면 lv_success에 'X'가 담김 3) Pattern 담을 변수 4) 대상이 되는 문자열(field) lo_matcher=>create 메소드로 객체 생성, lo_matcer->match 메소드로 결과 확인 아래 표의 정규표현식 > lv_pattern에 담고 실행하면 됨! |
정규표현식 | 사용 |
REPLACE ALL OCCURRENCES OF REGEX '[^[:alnum:]]' IN lv_total WITH space. | lv_total에 있는 숫자가 아닌 문자는 공백으로 치환(삭제) |
/^\d{3}-\d{3,4}-\d{4}$/. |
휴대폰 번호 |
/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i; \w+@\w+\.\w+(\.\w+)? |
이메일 |
'IT[0-9]{4}$' | 사번(4자리) |
728x90
'SAP BASIC' 카테고리의 다른 글
[05] ABAL SQL 작성 순서 & 실행 순서 (0) | 2024.08.05 |
---|---|
[04] 화폐 단위 변경( Currency Conversion Function / Wrtie Currency) (1) | 2024.07.23 |
[03] ALV 행 색깔 변경하기 ( change row color in alv ) (1) | 2024.07.18 |
[02] SY-TABIX 와 SY-INDEX ( what is the difference between sy-tabix and sy-index ) (2) | 2024.07.15 |
LOOP와 CONTINUE, EXIT, STOP, CHECK (0) | 2023.06.20 |