JavaTM Platform
Standard Ed. 6

java.util.regex
클래스 Matcher

java.lang.Object 
  상위를 확장 java.util.regex.Matcher
모든 구현된 인터페이스:
MatchResult


public final class Matcher
extends Object
implements MatchResult

Pattern 를 해석하는 것에 의해java.lang.CharSequence문자 순서의 매치 조작을 실시하는 엔진입니다.

정규 표현 엔진은, 패턴의 matcher 메소드를 호출하는 것에 의해 작성됩니다. 한 번 작성하면(자), 다음의 3 종류의 매치 조작에 사용할 수 있습니다.

이러한 메소드는, 매치이 성공했는지의 여부를 나타내는 boolean 치를 돌려줍니다. 매치이 성공했을 때는, 정규 표현 엔진 상태를 조회하면 상세를 취득할 수 있습니다.

정규 검색 엔진은 「영역」이라고 불리는 입력의 부분집합으로 매치을 검색합니다. 디폴트에서는, 영역에는 정규 검색 엔진의 입력 모든 것이 포함됩니다. 영역의 변경에는 region 메소드를, 영역의 조회에는 regionStartregionEnd 메소드를 사용할 수 있습니다. 영역의 경계에 의한 일정한 패턴 작성의 방법은 변경할 수 있습니다. 상세한 것에 대하여는,useAnchoringBoundsuseTransparentBounds 를 참조해 주세요.

이 클래스에는, 매치 한 부분 순서를 새로운 캐릭터 라인에 치환하는 메소드도 정의합니다. 새로운 캐릭터 라인의 내용은, 필요에 따라서 매치 결과로부터 산출할 수 있습니다. appendReplacementappendTail 메소드를 동시에 사용하면, 매치 결과를 수집해 기존의 캐릭터 라인 버퍼에 포함할 수 있습니다. 또,replaceAll 메소드를 사용하면, 입력 순서내에서 매치 한 부분 순서가 모두 치환된 캐릭터 라인을 작성할 수 있습니다.

정규 표현 엔진의 명시적인 상태로서 마지막에 성공한 매치의 개시 인덱스와 종료 인덱스가 있습니다. 또, 패턴의 각전방 참조를 실시하는 정규 표현 그룹에 의해 전방 참조된 입력 부분 순서의 개시 인덱스와 종료 인덱스나, 전방 참조된 부분 순서의 총수도 이용됩니다. 전방 참조된 부분 순서를 캐릭터 라인 형식에서 돌려주는 메소드도 준비되어 있습니다.

정규 표현 엔진의 명시적인 상태의 초기치는 정의되고 있지 않습니다. 매치이 성공하기 전에 그 일부를 조회하려고 하면(자),IllegalStateException 이 throw 됩니다. 정규 표현 엔진의 명시적인 상태는, 매치 조작마다 다시 계산합니다.

정규 표현 엔진의 암묵적인 상태에는, 입력 문자 순서나 「추가 위치」가 있습니다. 추가 위치의 초기치는 제로로,appendReplacement 메소드에 의해 갱신됩니다.

정규 표현 엔진을 리셋 하려면 , 정규 표현 엔진의 reset() 메소드 또는 reset(CharSequence) 메소드 (새로운 입력 순서가 필요한 경우)를 호출합니다. 정규 표현 엔진을 리셋 하면(자), 그 명시적인 상태에 관한 정보가 파기되어 추가 위치가 제로로 설정됩니다.

이 클래스의 인스턴스는, 복수의 thread로 병행해 사용할 수 없습니다.

도입된 버젼:
1.4

메소드의 개요
 Matcher appendReplacement (StringBuffer  sb, String  replacement)
          계속 추가 치환 순서를 구현합니다.
 StringBuffer appendTail (StringBuffer  sb)
          종료 추가 치환 순서를 구현합니다.
 int end ()
          마지막에 매치 한 문자의 뒤의 오프셋(offset)를 돌려줍니다.
 int end (int group)
          전회의 매치 조작으로 지정된 그룹에 의해 전방 참조된 부분 순서의, 최종 문자의 뒤의 오프셋(offset)를 돌려줍니다.
 boolean find ()
          입력 순서로부터 이 패턴과 매치 하는 다음의 부분 순서를 검색합니다.
 boolean find (int start)
          이 정규 표현 엔진을 리셋 해, 지정된 인덱스 이후의 입력 순서로부터, 이 패턴과 매치 하는 다음의 부분 순서를 검색합니다.
 String group ()
          전회의 매치으로 일치한 입력 부분 순서를 돌려줍니다.
 String group (int group)
          전회의 매치 조작으로 지정된 그룹에 의해 전방 참조된 입력 부분 순서를 돌려줍니다.
 int groupCount ()
          이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 수를 돌려줍니다.
 boolean hasAnchoringBounds ()
          이 정규 표현 엔진의 영역 경계의 엥커 설정을 문의하는 쿼리를 냅니다.
 boolean hasTransparentBounds ()
          이 정규 표현 엔진의 영역 경계의 투명도를 문의하는 쿼리를 냅니다.
 boolean hitEnd ()
          이 정규 검색 엔진이 실행한 마지막 매치 조작으로, 입력의 말미가 검색 엔진에 의해 히트 했을 경우에, true 를 돌려줍니다.
 boolean lookingAt ()
          입력 순서와 패턴과의 매치을, 영역의 선두로부터 시작합니다.
 boolean matches ()
          영역 전체를 이 패턴과 매치 합니다.
 Pattern pattern ()
          이 정규 표현 엔진에 의해 해석되는 패턴을 돌려줍니다.
static String quoteReplacement (String  s)
          지정된 String 의 리터럴 치환 String 를 돌려줍니다.
 Matcher region (int start, int end)
          정규 검색 엔진의 영역에 제한을 설정합니다.
 int regionEnd ()
          이 정규 검색 엔진의 영역의 종료 인덱스 (그 값을 포함하지 않는다)를 리포트합니다.
 int regionStart ()
          이 정규 검색 엔진의 영역의 개시 인덱스를 리포트합니다.
 String replaceAll (String  replacement)
          패턴과 매치 하는 입력 순서의 부분 순서를, 지정된 치환 캐릭터 라인에 옮겨놓습니다.
 String replaceFirst (String  replacement)
          패턴과 매치 하는 입력 순서의 부분 순서 가운데, 최초의 부분 순서가 지정된 치환 캐릭터 라인에 옮겨놓습니다.
 boolean requireEnd ()
          보다 많은 입력으로 정의 매치이 부의 매치으로 변경될 가능성이 있는 경우에, true 를 돌려줍니다.
 Matcher reset ()
          이 정규 표현 엔진을 리셋 합니다.
 Matcher reset (CharSequence  input)
          새로운 입력 순서를 사용해 이 정규 표현 엔진을 리셋 합니다.
 int start ()
          전회의 매치의 개시 인덱스를 돌려줍니다.
 int start (int group)
          전회의 매치 조작으로 지정된 그룹에 의해 전방 참조된 부분 순서의, 개시 인덱스를 돌려줍니다.
 MatchResult toMatchResult ()
          이 정규 표현 엔진의 매치 상태를 MatchResult 로서 돌려줍니다.
 String toString ()
          이 정규 표현 엔진의 캐릭터 라인 표현을 돌려줍니다.
 Matcher useAnchoringBounds (boolean b)
          이 정규 표현 엔진의 영역 경계의 엥커를 설정합니다.
 Matcher usePattern (Pattern  newPattern)
          이 Matcher 가 매치 검색에 사용하는 Pattern 를 변경합니다.
 Matcher useTransparentBounds (boolean b)
          이 정규 표현 엔진의 영역 경계의 투명도를 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

메소드의 상세

pattern

public Pattern  pattern()
이 정규 표현 엔진에 의해 해석되는 패턴을 돌려줍니다.

반환값:
이 정규 표현 엔진의 작성 대상이 된 패턴

toMatchResult

public MatchResult  toMatchResult()
이 정규 표현 엔진의 매치 상태를 MatchResult 로서 돌려줍니다. 결과는, 이 정규 검색 엔진에 대한 후속의 조작의 영향을 받지 않습니다.

반환값:
이 정규 검색 엔진 상태를 보관 유지하는 MatchResult
도입된 버젼:
1.5

usePattern

public Matcher  usePattern(Pattern  newPattern)
Matcher 가 매치 검색에 사용하는 Pattern 를 변경합니다.

이 메소드를 사용하면(자), 마지막에 발생한 매치의 그룹에 관한 정보가 이 정규 표현 엔진으로부터 없어집니다. 입력내의 정규 표현 엔진의 위치는 유지되어 마지막 추가 위치는 영향을 받지 않습니다.

파라미터:
newPattern - 이 정규 표현 엔진이 사용하는 신규 패턴
반환값:
이 정규 표현 엔진
예외:
IllegalArgumentException - newPattern 가 null 의 경우
도입된 버젼:
1.5

reset

public Matcher  reset()
이 정규 표현 엔진을 리셋 합니다.

정규 검색 엔진을 리셋 하면(자), 명시적인 상태 정보 모든 것이 파기되어 추가 위치가 제로로 설정됩니다. 정규 검색 엔진의 영역은, 디폴트인 문자 순서 전체로 설정됩니다. 이 정규 표현 엔진의 영역 경계의 엥커 및 투명도는 영향을 받지 않습니다.

반환값:
이 정규 표현 엔진

reset

public Matcher  reset(CharSequence  input)
새로운 입력 순서를 사용해 이 정규 표현 엔진을 리셋 합니다.

정규 검색 엔진을 리셋 하면(자), 명시적인 상태 정보 모든 것이 파기되어 추가 위치가 제로로 설정됩니다. 정규 검색 엔진의 영역은, 디폴트인 문자 순서 전체로 설정됩니다. 이 정규 표현 엔진의 영역 경계의 엥커 및 투명도는 영향을 받지 않습니다.

파라미터:
input - 새로운 입력 문자 순서
반환값:
이 정규 표현 엔진

start

public int start()
전회의 매치의 개시 인덱스를 돌려줍니다.

정의:
인터페이스 MatchResult 내의 start
반환값:
매치한 최초의 문자의 인덱스
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우

start

public int start(int group)
전회의 매치 조작으로 지정된 그룹에 의해 전방 참조된 부분 순서의, 개시 인덱스를 돌려줍니다.

전방 참조를 실시하는 정규 표현 그룹에는, 왼쪽에서 우측향에 1 으로부터 인덱스가 붙습니다. 그룹 0 은 패턴 전체를 나타냅니다. 즉,m. start(0)m. start() 는 같은 표현입니다.

정의:
인터페이스 MatchResult 내의 start
파라미터:
group - 이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 인덱스
반환값:
그룹에 의해 전방 참조된 최초의 문자의 인덱스. 매치은 성공했지만 그룹 자체는 어느 부분에도 매치 하지 않았던 경우는 -1
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException - 지정된 인덱스를 가지는 전방 참조를 실시하는 정규 표현 그룹이 그 패턴에 포함되지 않는 경우

end

public int end()
마지막에 매치 한 문자의 뒤의 오프셋(offset)를 돌려줍니다.

정의:
인터페이스 MatchResult 내의 end
반환값:
마지막에 매치 한 문자의 뒤의 오프셋(offset)
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우

end

public int end(int group)
전회의 매치 조작으로 지정된 그룹에 의해 전방 참조된 부분 순서의, 최종 문자의 뒤의 오프셋(offset)를 돌려줍니다.

전방 참조를 실시하는 정규 표현 그룹에는, 왼쪽에서 우측향에 1 으로부터 인덱스가 붙습니다. 그룹 0 은 패턴 전체를 나타냅니다. 즉,m. end(0)m. end() 는 같은 표현입니다.

정의:
인터페이스 MatchResult 내의 end
파라미터:
group - 이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 인덱스
반환값:
그룹에 의해 전방 참조된 마지막 문자의 뒤의 오프셋(offset). 매치은 성공했지만 그룹 자체는 어느 부분에도 매치 하지 않았던 경우는 -1
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException - 지정된 인덱스를 가지는 전방 참조를 실시하는 정규 표현 그룹이 그 패턴에 포함되지 않는 경우

group

public String  group()
전회의 매치으로 일치한 입력 부분 순서를 돌려줍니다.

정규 표현 엔진 m 에 입력 순서 s 가 지정되고 있는 경우,m. group()s. substring(m. start(), m. end()) 는 같은 표현이 됩니다.

패턴 (a* 등)에 따라서는, 빈 상태(empty)의 캐릭터 라인과 매치 하는 일이 있습니다. 이러한 패턴이 입력 순서내의 빈 상태(empty)의 캐릭터 라인과 매치 했을 경우, 빈 상태(empty)의 캐릭터 라인이 돌려주어집니다.

정의:
인터페이스 MatchResult 내의 group
반환값:
전회의 매치으로 일치한 부분 순서 (빈 상태(empty)의 경우도 있다). 캐릭터 라인 형식
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우

group

public String  group(int group)
전회의 매치 조작으로 지정된 그룹에 의해 전방 참조된 입력 부분 순서를 돌려줍니다.

정규 표현 엔진 m, 입력 순서 s, 및 그룹 인덱스 g 가 지정되고 있는 경우,m. group(g)s. substring(m. start(g), m. end(g)) 는 같은 표현이 됩니다.

전방 참조를 실시하는 정규 표현 그룹에는, 왼쪽에서 우측향에 1 으로부터 인덱스가 붙습니다. 그룹 0 은 패턴 전체를 나타냅니다. 즉,m.group(0)m.group() 는 같은 표현입니다.

매치은 정상 종료했지만, 지정된 그룹이 입력 순서에 검출되지 않았던 경우,null 가 돌려주어집니다. 패턴 ((a*) 등)에 따라서는, 빈 상태(empty)의 캐릭터 라인과 매치 하는 일이 있습니다. 이러한 그룹이 입력 순서내의 빈 상태(empty)의 캐릭터 라인과 매치 했을 경우, 빈 상태(empty)의 캐릭터 라인이 돌려주어집니다.

정의:
인터페이스 MatchResult 내의 group
파라미터:
group - 이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 인덱스
반환값:
전회의 매치시에 그룹에 의해 전방 참조된 부분 순서 (빈 상태(empty)의 경우도 있다). 그룹이 입력의 일부에의 매치에 실패했을 경우는 null
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException - 지정된 인덱스를 가지는 전방 참조를 실시하는 정규 표현 그룹이 그 패턴에 포함되지 않는 경우

groupCount

public int groupCount()
이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 수를 돌려줍니다.

그룹 0 은 패턴 전체를 나타냅니다. 그룹 0 은, 이 카운트에 포함되지 않습니다.

그룹 인덱스가 이 메소드로부터 반환된 값이하의 정의 정수인 경우는, 이 정규 표현 엔진으로 유효합니다.

정의:
인터페이스 MatchResult 내의 groupCount
반환값:
이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 수

matches

public boolean matches()
영역 전체를 이 패턴과 매치 합니다.

매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다.

반환값:
영역 순서의 전체가 이 정규 표현 엔진의 패턴과 매치 했을 경우에게만 true

find

public boolean find()
입력 순서로부터 이 패턴과 매치 하는 다음의 부분 순서를 검색합니다.

이 메소드는, 정규 검색 엔진의 영역의 선두로부터 개시됩니다. 다만, 전회의 호출이 정상적으로 종료하고 나서 정규 표현 엔진이 리셋되어 있지 않은 경우는, 전회의 매치으로 일치하지 않았던 최초의 문자로부터 개시됩니다.

매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다.

반환값:
입력 순서의 부분 순서가 이 정규 표현 엔진의 패턴과 매치 했을 경우에게만 true

find

public boolean find(int start)
이 정규 표현 엔진을 리셋 해, 지정된 인덱스 이후의 입력 순서로부터, 이 패턴과 매치 하는 다음의 부분 순서를 검색합니다.

매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다. 후속의 find() 메소드 호출에서는, 이 매치으로 일치하지 않았던 최초의 문자로부터 개시됩니다.

반환값:
입력 순서의 지정된 인덱스 이후의 부분 순서가, 이 정규 표현 엔진의 패턴과 매치 했을 경우에게만 true
예외:
IndexOutOfBoundsException - start 가 제로보다 작은 경우, 또는 start 가 입력 순서의 길이보다 큰 경우

lookingAt

public boolean lookingAt()
입력 순서와 패턴과의 매치을, 영역의 선두로부터 시작합니다.

matches 메소드와 같게, 영역의 선두로부터 개시됩니다. 다만, 영역 전체가 매치 할 필요는 없습니다.

매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다.

반환값:
입력 순서의 접두사가 이 정규 표현 엔진의 패턴과 매치 했을 경우에게만 true

quoteReplacement

public static String  quoteReplacement(String  s)
지정된 String 의 리터럴 치환 String 를 돌려줍니다. 이 메소드는,Matcher 클래스의 appendReplacement 메소드내의 리터럴 치환 s 로서 기능하는 String 를 생성합니다. 생성되는 String 는, 리터럴 순서로서 처리되는 s 내의 문자 순서에 매치 합니다. slash ('\') 및 달러 기호 ('$')에는 특별한 의미는 없습니다.

파라미터:
s - 리터럴화하는 캐릭터 라인
반환값:
리터럴 캐릭터 라인 치환
도입된 버젼:
1.5

appendReplacement

public Matcher  appendReplacement(StringBuffer  sb,
                                 String  replacement)
계속 추가 치환 순서를 구현합니다.

이 메소드는, 다음의 처리를 실행합니다.

  1. 추가 위치 이후의 입력 순서로부터 캐릭터 라인을 읽어들여, 지정된 캐릭터 라인 버퍼에 추가한다. 전회 매치한 문자의 직전의 문자, 즉 인덱스 start()  - 1 의 문자를 읽어들였을 때에 종료한다

  2. 지정된 치환 캐릭터 라인을 캐릭터 라인 버퍼에 추가한다

  3. 이 정규 표현 엔진의 추가 위치를, 마지막에 매치 한 문자의 인덱스에 1 을 더한 값, 즉 end() 로 설정한다

치환 캐릭터 라인에는, 전회의 매치시에 전방 참조된 부분 순서에의 참조가 포함되는 경우가 있습니다. $g 가 검출되면(자),group (g) 를 평가한 결과에 모두 치환됩니다. $ 의 후의 최초의 수치는, 항상 그룹 참조의 일부로서 처리됩니다. 후속의 수치가 정당한 그룹 참조를 구성하는 경우, 이것들은 g 에 짜넣어집니다. 수 0 ~ 9 만이, 그룹 참조의 잠재적인 컴퍼넌트라고 보여집니다. 예를 들어, 2 번째의 그룹이 캐릭터 라인 "foo" 에 매치 하면(자), 치환 캐릭터 라인 "$2bar" 의 인도를 해,"foobar" 가 캐릭터 라인 버퍼에 추가됩니다. 전에 backslash (\$)를 붙이는 것으로, 달러 기호 ($)를 리터럴로서 치환 캐릭터 라인에 포함할 수가 있습니다.

치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. 달러 기호는, 먼저 설명했던 대로, 전방 참조된 부분 순서에의 참조로서 처리되는 경우가 있어, backslash는 치환 캐릭터 라인내의 리터럴 문자를 이스케이프 하는데 사용됩니다.

이 메소드는, 루프내에서 appendTail 메소드 및 find 메소드와 조합해 사용합니다. 예를 들어, 다음의 코드에서는,one dog two dogs in the yard 를 표준 출력 스트림에 써냅니다.

 Pattern p = Pattern.compile("cat");
 Matcher m = p.matcher("one cat two cats in the yard");
 StringBuffer sb = new StringBuffer();
 while (m.find()) {
     m.appendReplacement(sb, "dog");
 }
 m.appendTail(sb);
 System.out.println(sb.toString());

파라미터:
sb - 타겟 캐릭터 라인 버퍼
replacement - 치환 캐릭터 라인
반환값:
이 정규 표현 엔진
예외:
IllegalStateException - 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException - 치환 캐릭터 라인이 참조하고 있는 전방 참조를 실시하는 정규 표현 그룹이, 패턴내에 존재하지 않는 경우

appendTail

public StringBuffer  appendTail(StringBuffer  sb)
종료 추가 치환 순서를 구현합니다.

이 메소드는, 추가 위치 이후의 입력 순서로부터 캐릭터 라인을 읽어들여, 지정된 캐릭터 라인 버퍼에 추가합니다. 입력 순서의 나머지의 부분을 카피하기 위해서,appendReplacement 메소드를 1 회 이상 호출하고 나서 이 메소드를 호출합니다.

파라미터:
sb - 타겟 캐릭터 라인 버퍼
반환값:
타겟 캐릭터 라인 버퍼

replaceAll

public String  replaceAll(String  replacement)
패턴과 매치 하는 입력 순서의 부분 순서를, 지정된 치환 캐릭터 라인에 옮겨놓습니다.

이 메소드는 우선, 이 정규 표현 엔진을 리셋 합니다. 다음에, 입력 순서를 주사 해, 패턴과 매치 하는 캐릭터 라인을 검색합니다. 패턴과 매치 하지 않는 캐릭터 라인은, 결과 캐릭터 라인에 직접 추가됩니다. 패턴과 매치 한 캐릭터 라인은, 치환 캐릭터 라인에 치환되어 결과에 추가됩니다. appendReplacement 메소드와 같게, 전방 참조된 부분 순서에의 참조가 치환 캐릭터 라인에 포함되는 경우가 있습니다.

치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. 달러 기호는, 먼저 설명했던 대로, 전방 참조된 부분 순서에의 참조로서 처리되는 경우가 있어, backslash는 치환 캐릭터 라인내의 리터럴 문자를 이스케이프 하는데 사용됩니다.

정규 표현 a*b, 입력 "aabfooaabfooabfoob", 및 치환 캐릭터 라인 "-" 을 지정했을 경우, 그 표현의 정규 표현 엔진상에서 이 메소드를 호출하면(자), 캐릭터 라인 "-foo-foo-foo-" 가 생성됩니다.

이 메소드를 호출하면(자), 이 정규 표현 엔진 상태가 바뀝니다. 이 정규 표현 엔진을 후속의 매치 조작으로 사용하는 경우는, 최초로 정규 표현 엔진을 리셋 할 필요가 있습니다.

파라미터:
replacement - 치환 캐릭터 라인
반환값:
매치한 모든 부분 순서를 치환 캐릭터 라인으로 옮겨놓아 전방 참조된 부분 순서를 필요에 따라서 치환하는 것에 의해 구축된 캐릭터 라인

replaceFirst

public String  replaceFirst(String  replacement)
패턴과 매치 하는 입력 순서의 부분 순서 가운데, 최초의 부분 순서가 지정된 치환 캐릭터 라인에 옮겨놓습니다.

이 메소드는 우선, 이 정규 표현 엔진을 리셋 합니다. 다음에, 입력 순서를 주사 해, 패턴과 매치 하는 최초의 캐릭터 라인을 검색합니다. 패턴과 매치 하지 않는 캐릭터 라인은, 결과 캐릭터 라인에 직접 추가됩니다. 패턴과 매치 한 캐릭터 라인은, 치환 캐릭터 라인에 치환되어 결과에 추가됩니다. appendReplacement 메소드와 같게, 전방 참조된 부분 순서에의 참조가 치환 캐릭터 라인에 포함되는 경우가 있습니다.

치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. 달러 기호는, 먼저 설명했던 대로, 전방 참조된 부분 순서에의 참조로서 처리되는 경우가 있어, backslash는 치환 캐릭터 라인내의 리터럴 문자를 이스케이프 하는데 사용됩니다.

정규 표현 dog, 입력 "zzzdogzzzdogzzz", 및 치환 캐릭터 라인 "cat" 를 지정했을 경우, 그 표현의 정규 표현 엔진상에서 이 메소드를 호출하면(자), 캐릭터 라인 "zzzcatzzzdogzzz" 가 생성됩니다.

이 메소드를 호출하면(자), 이 정규 표현 엔진 상태가 바뀝니다. 이 정규 표현 엔진을 후속의 매치 조작으로 사용하는 경우는, 최초로 정규 표현 엔진을 리셋 할 필요가 있습니다.

파라미터:
replacement - 치환 캐릭터 라인
반환값:
최초로 매치 한 부분 순서를 치환 캐릭터 라인으로 옮겨놓아 전방 참조된 부분 순서를 필요에 따라서 치환하는 것에 의해 구축된 캐릭터 라인

region

public Matcher  region(int start,
                      int end)
정규 검색 엔진의 영역에 제한을 설정합니다. 영역은, 매치의 검색 대상이 되는 입력 순서의 일부입니다. 이 메소드를 호출하면(자), 정규 검색 엔진이 리셋 되어 영역의 선두가 start 파라미터에 의해 지정된 인덱스에, 영역의 말미가 end 파라미터에 의해 지정된 인덱스에 각각 설정됩니다.

사용되는 투명도와 엥커 설정에 따라서는 (useTransparentBoundsuseAnchoringBounds 를 참조), 엥커등의 특정의 작성상의 행동이 영역의 경계 또는 그 부근에서 다른 경우가 있습니다.

파라미터:
start - 검색을 개시하는 위치의 인덱스 (그 값도 포함한다)
end - 검색을 종료하는 위치의 인덱스 (그 값을 포함하지 않는다)
반환값:
이 정규 표현 엔진
예외:
IndexOutOfBoundsException - start 또는 end 가 제로보다 작은 경우, start 가 입력 순서의 길이보다 큰 경우, end 가 입력 순서의 길이보다 큰 경우, 또는 start 가 end 보다 큰 경우
도입된 버젼:
1.5

regionStart

public int regionStart()
이 정규 검색 엔진의 영역의 개시 인덱스를 리포트합니다. 이 정규 검색 엔진이 실시하는 검색은,regionStart (그 값도 포함한다)와 regionEnd (그 값을 포함하지 않는다)의 내부에서의 매치 검색에 제한됩니다.

반환값:
이 정규 검색 엔진의 영역의 시점
도입된 버젼:
1.5

regionEnd

public int regionEnd()
이 정규 검색 엔진의 영역의 종료 인덱스 (그 값을 포함하지 않는다)를 리포트합니다. 이 정규 검색 엔진이 실시하는 검색은,regionStart (그 값도 포함한다)와 regionEnd (그 값을 포함하지 않는다)의 내부에서의 매치 검색에 제한됩니다.

반환값:
이 정규 표현 엔진의 영역의 종점
도입된 버젼:
1.5

hasTransparentBounds

public boolean hasTransparentBounds()
이 정규 표현 엔진의 영역 경계의 투명도를 문의하는 쿼리를 냅니다.

이 메소드는,transparent 경계가 이 정규 표현 엔진으로 사용되는 경우는 true 를 돌려주어,opaque 경계가 사용되는 경우에는 false 를 돌려줍니다.

투명 또는 불투명의 경계의 상세한 것에 대하여는,useTransparentBounds 를 참조해 주세요.

디폴트에서는, 정규 표현 엔진은 불투명의 영역 경계를 사용합니다.

반환값:
이 정규 표현 엔진이 투명한 경계를 사용하는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.5
관련 항목:
useTransparentBounds(boolean)

useTransparentBounds

public Matcher  useTransparentBounds(boolean b)
이 정규 표현 엔진의 영역 경계의 투명도를 설정합니다.

이 메소드에 true 의 인수를 지정해 호출하면(자),transparent 경계가 이 정규 표현 엔진으로 사용됩니다. boolean 인수가 false 의 경우는,opaque 경계가 사용됩니다.

투명한 경계를 사용하는 경우, 이 정규 표현 엔진의 영역은, 전방, 후방, 및 경계의 매칭 작성으로 투명하게 됩니다. 이러한 작성은, 매치이 적절한가 어떤가를 영역의 경계를 넘어 볼 수가 있습니다.

불투명한 경계를 사용하면(자), 이 정규 표현 엔진의 경계는, 전방, 후방, 및 경계를 넘어 검색을 시도하는 매칭 작성으로 불투명이 됩니다. 이러한 작성에서는 경계를 이전으로 거슬러 올라가 검색할 수 없기 때문에, 영역외에서는 어떠한 매칭도 실패합니다.

디폴트에서는, 정규 표현 엔진은 불투명의 경계를 사용합니다.

파라미터:
b - 불투명 또는 투명의 영역의 어느 쪽을 사용하는지를 나타내는 boolean
반환값:
이 정규 표현 엔진
도입된 버젼:
1.5
관련 항목:
hasTransparentBounds()

hasAnchoringBounds

public boolean hasAnchoringBounds()
이 정규 표현 엔진의 영역 경계의 엥커 설정을 문의하는 쿼리를 냅니다.

이 메소드는,anchoring 경계가 이 정규 표현 엔진으로 사용되는 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.

엥커 설정 경계의 상세한 것에 대하여는, useTransparentBounds 를 참조해 주세요.

디폴트에서는, 정규 표현 엔진은 엥커 설정 영역 경계를 사용합니다.

반환값:
이 정규 표현 엔진이 엥커 설정 경계를 사용하는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.5
관련 항목:
useAnchoringBounds(boolean)

useAnchoringBounds

public Matcher  useAnchoringBounds(boolean b)
이 정규 표현 엔진의 영역 경계의 엥커를 설정합니다.

이 메소드에 true 의 인수를 지정해 호출하면(자),anchoring 경계가 이 정규 표현 엔진으로 사용됩니다. boolean 인수가 false 의 경우는,non-anchoring 경계가 사용됩니다.

엥커 설정 경계가 사용되면(자), 이 정규 표현 엔진의 영역의 경계는, ^ 및 $ 등의 엥커에 매치 합니다.

엥커 설정 경계가 사용되지 않는 경우는, 이 정규 표현 엔진의 영역의 경계는, ^ 및 $ 등의 엥커에 매치 하지 않습니다.

디폴트에서는, 정규 표현 엔진은 엥커 설정 영역 경계를 사용합니다.

파라미터:
b - 엥커 설정 경계를 사용할지 어떨지를 나타내는 boolean
반환값:
이 정규 표현 엔진
도입된 버젼:
1.5
관련 항목:
hasAnchoringBounds()

toString

public String  toString()

이 정규 표현 엔진의 캐릭터 라인 표현을 돌려줍니다. Matcher 의 캐릭터 라인 표현에는, 디버그에 유용한 정보가 포함됩니다. 엄밀한 서식은 지정되지 않습니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 정규 검색 엔진의 캐릭터 라인 표현
도입된 버젼:
1.5

hitEnd

public boolean hitEnd()

이 정규 검색 엔진이 실행한 마지막 매치 조작으로, 입력의 말미가 검색 엔진에 의해 히트 했을 경우에, true 를 돌려줍니다.

이 메소드가 true 를 돌려주는 경우, 입력이 한층 더 많으면, 마지막 검색의 결과가 변경된 가능성이 있습니다.

반환값:
입력의 말미가 마지막 매치으로 히트 했을 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.5

requireEnd

public boolean requireEnd()

보다 많은 입력으로 정의 매치이 부의 매치으로 변경될 가능성이 있는 경우에, true 를 돌려줍니다.

이 메소드가 true 를 돌려주어, 한편 매치이 검출되었을 경우, 보다 많은 입력이 있으면 매치이 없어진 가능성이 있습니다. 이 메소드가 false 를 돌려주어, 한편 매치이 검출되었을 경우, 보다 많은 입력이 있으면 매치은 변경되지만, 없어질 것은 없었던 가능성이 있습니다. 매치이 검출되지 않았던 경우, requireEnd 에 의미는 없습니다.

반환값:
보다 많은 입력으로 정의 매치이 부의 매치으로 변경될 가능성이 있는 경우는 true
도입된 버젼:
1.5

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.