Groovy-정규식

정규식은 텍스트에서 하위 문자열을 찾는 데 사용되는 패턴입니다. Groovy는 기본적으로 ~”regex”표현식을 사용하는 정규 표현식을 지원합니다. 따옴표로 묶인 텍스트는 비교 표현식을 나타냅니다.

예를 들어 다음과 같이 정규식 객체를 만들 수 있습니다.

def regex = ~'Groovy'

Groovy 연산자 = ~가 조건 자 (부울을 반환하는 표현식)로 나타날 때 ifwhile명령문 (8 장 참조)에서 왼쪽의 String 피연산자는 오른쪽의 정규식 피연산자와 일치합니다. 따라서 다음 각 항목은 참된 가치를 제공합니다.

정규식을 정의 할 때 다음 특수 문자를 사용할 수 있습니다.

  • 줄의 시작과 끝을 나타내는 데 사용되는 두 가지 특수 위치 문자가 있습니다. 캐럿 (∧)과 달러 기호 ($)입니다.

  • 정규식은 수량자를 포함 할 수도 있습니다. 더하기 기호 (+)는 표현식의 이전 요소에 적용되는 한 번 이상을 나타냅니다. 별표 (*)는 0 개 이상의 발생을 나타내는 데 사용됩니다. 물음표 (?)는 0 또는 한 번을 나타냅니다.

  • 메타 문자 {및}는 이전 문자의 특정 인스턴스 수를 일치시키는 데 사용됩니다.

  • 정규식에서 마침표 기호 (.)는 모든 문자를 나타낼 수 있습니다. 이것은 와일드 카드 문자로 설명됩니다.

  • 정규식에는 문자 클래스가 포함될 수 있습니다. 문자 집합은 [aeiou]에서와 같이 메타 문자 [and]로 묶인 간단한 문자 시퀀스로 제공 될 수 있습니다. 문자 또는 숫자 범위의 경우 [a–z] 또는 [a–mA–M]에서와 같이 대시 구분 기호를 사용할 수 있습니다. 문자 클래스의 보완은 [∧a–z]에서와 같이 사각형 라켓 내에서 선행 캐럿으로 표시되며 지정된 문자 이외의 모든 문자를 나타냅니다. 정규식의 몇 가지 예는 다음과 같습니다.

'Groovy' =~ 'Groovy' 
'Groovy' =~ 'oo' 
'Groovy' ==~ 'Groovy' 
'Groovy' ==~ 'oo' 
'Groovy' =~ '∧G' 
‘Groovy' =~ 'G$' 
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'