본문 바로가기
Lecture/Grails

groovy 정규 표현식

by cusmaker 2015. 2. 15.
반응형

* Groovy의 정규표현식

 

* 정규표현기호

 

* 사용법

● ~ : 정규표현식을 정의할 때 사용함

● =~ : 정규표현식을 기반으로 검색을 수행함

● ==~ : 정규표현식을 기반으로 일치여부를 반환함

def pattern = /(https?):\/\/(10000img.com\/view\/)([^:\/\s]+\/)([^:\/\s]+\.)([^:\/\s\"]+)/

//                http 일치, s는 있거나 없거나 이후 대부분 string일치, []안의 슬래시혹은 공백, 컬럼 제외하고 

//                슬래시로 끝나거나 점으로 끝나는 문자열 추출

assert text =~ pattern

def matched = []

text.eachMatch(pattern) {match -> matched += match[0]}

 

* 응용

def text = ("http://10000img.com/ran.php").toURL().getText()

def pattern = /(https?):\/\/(10000img.com\/view\/)([^:\/\s]+\/)([^:\/\s]+\.)([^:\/\s\"]+)/

assert text =~ pattern

def matched = []

text.eachMatch(pattern) {match -> matched += match[0]}

println matched


결과 > [http://10000img.com/view/rimg4/vxa23.jpg]

       랜덤 이미지 필요할때 사용!

참고 : http://springsource.tistory.com/85

참고 : http://goodidea.tistory.com/86

참고 : http://hwangtom.tistory.com/5