정규표현식은 perl에 있는 거 아닌가요? 하면 큰 오산이죠! SKILL 에도 있습니다. 자주 쓰일지는 모르지만 유용한 기능이죠. list 편과 마찬가지로 몇 가지 예제로 보고 갑시다. 자세한 사항은 virtuoso document에 잘 나와 있으니 확인하시면 도움될 겁니다.
일단 변수 하나를 만들어서
temp = "HODMAN BLOG!!"
"HODMAN BLOG!!"
rexMatch는 앞의 pattern이 뒤의 변수에 있는지 검사합니다.
rexMatchp("HODMAN" temp)
t
rexMatchp("ASSURA" temp)
nil
rexCompile에서 특정 pattern을 compile 해 놓으면
rexCompile("HODMAN")
t
compile 된 pattern을 rexReplace를 통해 바꿀 수 있습니다.
rexReplace(temp, "ASSURA" 0)
"ASSURA BLOG!!"
rexReplace의 맨 뒤 숫자는 0일 때는 모두 변경이고 1을 주면 첫 번째 일치하는 값, 2를 주면 두 번째 일치하는 값만 변경합니다.
temp = "HODMAN HODMAN HODMAN"
"HODMAN HODMAN HODMAN"
rexReplace(temp, "DODAM", 0)
"DODAM DODAM DODAM"
rexReplace(temp, "DODAM", 1)
"DODAM HODMAN HODMAN"
rexReplace(temp, "DODAM", 3)
"HODMAN HODMAN DODAM"
그 외에도 rexExecute, rexMatchList, rexSubstitute 등이 있는데 저는 많이 사용 안 하게 되더라고요. 주로 쓰는 것만!
label 관련된 작업을 할 때 가끔 사용하게 됩니다. 다음에는 쉬어가는(?) 코너로 함수 하나 만들어 볼게요.
change_bracket이라는 함수로 이번에 파견 갔을 때 짜 놨던 겁니다. 아직 procedure는 안 다뤘으니 그냥 함수들만 짜 볼게요.
'Programming 언어 > Skill' 카테고리의 다른 글
[SKILL 강좌] procedure (@rest @optional @key) (0) | 2017.02.02 |
---|---|
[SKILL 강좌] change_bracket : label의 '<>' 를 '[]' 로 (1) | 2017.02.01 |
[SKILL 강좌] list 함수들 (cons, append, car, cdr, nth, xCoord, yCoord...) (0) | 2017.01.31 |
[SKILL 강좌] operator (-> , ~>) (0) | 2017.01.30 |
[SKILL 강좌] SKILL 을 배우고 싶은데 어떻게 하면 되나요? (2) | 2017.01.29 |