REG 시리즈 문의 있습니다. 0 2 1,587

by captain [2015.07.03 17:09:38]


안녕하세요.

 

REG 함수 관련하여 문의사항이 있습니다.

 

REGEXP_SUBSTR('<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">', 'id="([^"]+)"')
의 결과값은 id="systemCodeTab“ 입니다.
REGEXP_REPLACE('<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">', 'id="([^"]+)"')
의 결과값은 <ul class="nav nav-tabs" role="tablist" >
입니다.
 
그런데, REGEXP_REPLACE('<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">', 'id="([^"]+)"', '\1') 의
결과값이 <ul class="nav nav-tabs" role="tablist" systemCodeTab> 로 나옵니다. 일단 이 부분이 이해가 안되구요.
 
제가 원하는 id의 값을 찍으려면 변경하여
REGEXP_REPLACE('<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">', 'id="([^"]+)"|.', '\1') 
로 해야 하는데요. 붉은색 부분이 이해가 잘 가지 않습니다. 왜 저걸 해주는지요...
 
감사합니다.

 

 

 

감사합니다.

by 마농 [2015.07.03 17:29:18]

패턴 'id="([^"]+)"' 에 해당하는 값은 'id="systemCodeTab"' 이구요
이 중 괄호로 묶인 ([^"]+) 이 부분에 해당하는 걸 '\1' 로 표현하며 값은 'systemCodeTab' 이지요
REGEXP_REPLACE('<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">', 'id="([^"]+)"', '\1') 을 그대로 값을 대입해 보면
REPLACE('<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">', 'id="systemCodeTab"', 'systemCodeTab') 이 됩니다.
- 변경전 : '<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">'
- 변경후 : '<ul class="nav nav-tabs" role="tablist" systemCodeTab>'
'앞(에)꺼|.' 의 의미는 앞에꺼 또는(|) 모든 1자리 문자(.) 를 의미하죠.

여기서 모든문자들이 모여 아래 초록색 부분이 됩니다.
- 변경전 : '<ul class="nav nav-tabs" role="tablist" id="systemCodeTab">'
- 변경후 : 'systemCodeTab'


by captain [2015.07.06 09:34:21]

마농님 감사드립니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입