|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.regex.Matcher
public final class Matcher
Pattern
를 해석하는 것에 의해java.lang.CharSequence
문자 순서의 매치 조작을 실시하는 엔진입니다.
정규 표현 엔진은, 패턴의 matcher
메소드를 호출하는 것에 의해 작성됩니다. 한 번 작성하면(자), 다음의 3 종류의 매치 조작에 사용할 수 있습니다.
matches
메소드는, 입력 순서 전체와 패턴을 매치 한다
lookingAt
메소드는, 입력 순서의 선두로부터 시작해 패턴을 매치 한다
find
메소드는, 입력 순서를 주사 해, 패턴과 매치 하는 다음의 부분 순서를 검색한다
이러한 메소드는, 매치이 성공했는지의 여부를 나타내는 boolean 치를 돌려줍니다. 매치이 성공했을 때는, 정규 표현 엔진 상태를 조회하면 상세를 취득할 수 있습니다.
정규 검색 엔진은 「영역」이라고 불리는 입력의 부분집합으로 매치을 검색합니다. 디폴트에서는, 영역에는 정규 검색 엔진의 입력 모든 것이 포함됩니다. 영역의 변경에는 region
메소드를, 영역의 조회에는 regionStart
및 regionEnd
메소드를 사용할 수 있습니다. 영역의 경계에 의한 일정한 패턴 작성의 방법은 변경할 수 있습니다. 상세한 것에 대하여는,useAnchoringBounds
및 useTransparentBounds
를 참조해 주세요.
이 클래스에는, 매치 한 부분 순서를 새로운 캐릭터 라인에 치환하는 메소드도 정의합니다. 새로운 캐릭터 라인의 내용은, 필요에 따라서 매치 결과로부터 산출할 수 있습니다. appendReplacement
및 appendTail
메소드를 동시에 사용하면, 매치 결과를 수집해 기존의 캐릭터 라인 버퍼에 포함할 수 있습니다. 또,replaceAll
메소드를 사용하면, 입력 순서내에서 매치 한 부분 순서가 모두 치환된 캐릭터 라인을 작성할 수 있습니다.
정규 표현 엔진의 명시적인 상태로서 마지막에 성공한 매치의 개시 인덱스와 종료 인덱스가 있습니다. 또, 패턴의 각전방 참조를 실시하는 정규 표현 그룹에 의해 전방 참조된 입력 부분 순서의 개시 인덱스와 종료 인덱스나, 전방 참조된 부분 순서의 총수도 이용됩니다. 전방 참조된 부분 순서를 캐릭터 라인 형식에서 돌려주는 메소드도 준비되어 있습니다.
정규 표현 엔진의 명시적인 상태의 초기치는 정의되고 있지 않습니다. 매치이 성공하기 전에 그 일부를 조회하려고 하면(자),IllegalStateException
이 throw 됩니다. 정규 표현 엔진의 명시적인 상태는, 매치 조작마다 다시 계산합니다.
정규 표현 엔진의 암묵적인 상태에는, 입력 문자 순서나 「추가 위치」가 있습니다. 추가 위치의 초기치는 제로로,appendReplacement
메소드에 의해 갱신됩니다.
정규 표현 엔진을 리셋 하려면 , 정규 표현 엔진의 reset()
메소드 또는 reset(CharSequence)
메소드 (새로운 입력 순서가 필요한 경우)를 호출합니다. 정규 표현 엔진을 리셋 하면(자), 그 명시적인 상태에 관한 정보가 파기되어 추가 위치가 제로로 설정됩니다.
이 클래스의 인스턴스는, 복수의 thread로 병행해 사용할 수 없습니다.
메소드의 개요 | |
---|---|
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 |
메소드의 상세 |
---|
public Pattern pattern()
public MatchResult toMatchResult()
MatchResult
로서 돌려줍니다. 결과는, 이 정규 검색 엔진에 대한 후속의 조작의 영향을 받지 않습니다.
MatchResult
public Matcher usePattern(Pattern newPattern)
이 메소드를 사용하면(자), 마지막에 발생한 매치의 그룹에 관한 정보가 이 정규 표현 엔진으로부터 없어집니다. 입력내의 정규 표현 엔진의 위치는 유지되어 마지막 추가 위치는 영향을 받지 않습니다.
newPattern
- 이 정규 표현 엔진이 사용하는 신규 패턴
IllegalArgumentException
- newPattern 가 null 의 경우public Matcher reset()
정규 검색 엔진을 리셋 하면(자), 명시적인 상태 정보 모든 것이 파기되어 추가 위치가 제로로 설정됩니다. 정규 검색 엔진의 영역은, 디폴트인 문자 순서 전체로 설정됩니다. 이 정규 표현 엔진의 영역 경계의 엥커 및 투명도는 영향을 받지 않습니다.
public Matcher reset(CharSequence input)
정규 검색 엔진을 리셋 하면(자), 명시적인 상태 정보 모든 것이 파기되어 추가 위치가 제로로 설정됩니다. 정규 검색 엔진의 영역은, 디폴트인 문자 순서 전체로 설정됩니다. 이 정규 표현 엔진의 영역 경계의 엥커 및 투명도는 영향을 받지 않습니다.
input
- 새로운 입력 문자 순서
public int start()
MatchResult
내의 start
IllegalStateException
- 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우public int start(int group)
전방 참조를 실시하는 정규 표현 그룹에는, 왼쪽에서 우측향에 1 으로부터 인덱스가 붙습니다. 그룹 0 은 패턴 전체를 나타냅니다. 즉,m. start(0) 와 m. start() 는 같은 표현입니다.
MatchResult
내의 start
group
- 이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 인덱스
IllegalStateException
- 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException
- 지정된 인덱스를 가지는 전방 참조를 실시하는 정규 표현 그룹이 그 패턴에 포함되지 않는 경우public int end()
MatchResult
내의 end
IllegalStateException
- 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우public int end(int group)
전방 참조를 실시하는 정규 표현 그룹에는, 왼쪽에서 우측향에 1 으로부터 인덱스가 붙습니다. 그룹 0 은 패턴 전체를 나타냅니다. 즉,m. end(0) 와 m. end() 는 같은 표현입니다.
MatchResult
내의 end
group
- 이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 인덱스
IllegalStateException
- 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException
- 지정된 인덱스를 가지는 전방 참조를 실시하는 정규 표현 그룹이 그 패턴에 포함되지 않는 경우public String group()
정규 표현 엔진 m 에 입력 순서 s 가 지정되고 있는 경우,m. group() 와 s. substring(m. start(), m. end()) 는 같은 표현이 됩니다.
패턴 (a* 등)에 따라서는, 빈 상태(empty)의 캐릭터 라인과 매치 하는 일이 있습니다. 이러한 패턴이 입력 순서내의 빈 상태(empty)의 캐릭터 라인과 매치 했을 경우, 빈 상태(empty)의 캐릭터 라인이 돌려주어집니다.
MatchResult
내의 group
IllegalStateException
- 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우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
- 이 정규 표현 엔진의 패턴으로 지정되고 있는 전방 참조를 실시하는 정규 표현 그룹의 인덱스
IllegalStateException
- 매치가 아직 시도되지 않은 경우, 또는 전회의 매치 조작이 실패했을 경우
IndexOutOfBoundsException
- 지정된 인덱스를 가지는 전방 참조를 실시하는 정규 표현 그룹이 그 패턴에 포함되지 않는 경우public int groupCount()
그룹 0 은 패턴 전체를 나타냅니다. 그룹 0 은, 이 카운트에 포함되지 않습니다.
그룹 인덱스가 이 메소드로부터 반환된 값이하의 정의 정수인 경우는, 이 정규 표현 엔진으로 유효합니다.
MatchResult
내의 groupCount
public boolean matches()
매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다.
public boolean find()
이 메소드는, 정규 검색 엔진의 영역의 선두로부터 개시됩니다. 다만, 전회의 호출이 정상적으로 종료하고 나서 정규 표현 엔진이 리셋되어 있지 않은 경우는, 전회의 매치으로 일치하지 않았던 최초의 문자로부터 개시됩니다.
매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다.
public boolean find(int start)
매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다. 후속의 find()
메소드 호출에서는, 이 매치으로 일치하지 않았던 최초의 문자로부터 개시됩니다.
IndexOutOfBoundsException
- start 가 제로보다 작은 경우, 또는 start 가 입력 순서의 길이보다 큰 경우public boolean lookingAt()
matches
메소드와 같게, 영역의 선두로부터 개시됩니다. 다만, 영역 전체가 매치 할 필요는 없습니다.
매치이 성공했을 경우는,start,end, 및 group 메소드를 사용해 상세 정보를 취득할 수 있습니다.
public static String quoteReplacement(String s)
String
의 리터럴 치환 String
를 돌려줍니다.
이 메소드는,Matcher
클래스의 appendReplacement
메소드내의 리터럴 치환 s
로서 기능하는 String
를 생성합니다. 생성되는 String
는, 리터럴 순서로서 처리되는 s
내의 문자 순서에 매치 합니다. slash ('\') 및 달러 기호 ('$')에는 특별한 의미는 없습니다.
s
- 리터럴화하는 캐릭터 라인
public Matcher appendReplacement(StringBuffer sb, String replacement)
이 메소드는, 다음의 처리를 실행합니다.
추가 위치 이후의 입력 순서로부터 캐릭터 라인을 읽어들여, 지정된 캐릭터 라인 버퍼에 추가한다. 전회 매치한 문자의 직전의 문자, 즉 인덱스 start()
- 1 의 문자를 읽어들였을 때에 종료한다
지정된 치환 캐릭터 라인을 캐릭터 라인 버퍼에 추가한다
이 정규 표현 엔진의 추가 위치를, 마지막에 매치 한 문자의 인덱스에 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
- 치환 캐릭터 라인이 참조하고 있는 전방 참조를 실시하는 정규 표현 그룹이, 패턴내에 존재하지 않는 경우public StringBuffer appendTail(StringBuffer sb)
이 메소드는, 추가 위치 이후의 입력 순서로부터 캐릭터 라인을 읽어들여, 지정된 캐릭터 라인 버퍼에 추가합니다. 입력 순서의 나머지의 부분을 카피하기 위해서,appendReplacement
메소드를 1 회 이상 호출하고 나서 이 메소드를 호출합니다.
sb
- 타겟 캐릭터 라인 버퍼
public String replaceAll(String replacement)
이 메소드는 우선, 이 정규 표현 엔진을 리셋 합니다. 다음에, 입력 순서를 주사 해, 패턴과 매치 하는 캐릭터 라인을 검색합니다. 패턴과 매치 하지 않는 캐릭터 라인은, 결과 캐릭터 라인에 직접 추가됩니다. 패턴과 매치 한 캐릭터 라인은, 치환 캐릭터 라인에 치환되어 결과에 추가됩니다. appendReplacement
메소드와 같게, 전방 참조된 부분 순서에의 참조가 치환 캐릭터 라인에 포함되는 경우가 있습니다.
치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. 달러 기호는, 먼저 설명했던 대로, 전방 참조된 부분 순서에의 참조로서 처리되는 경우가 있어, backslash는 치환 캐릭터 라인내의 리터럴 문자를 이스케이프 하는데 사용됩니다.
정규 표현 a*b, 입력 "aabfooaabfooabfoob", 및 치환 캐릭터 라인 "-" 을 지정했을 경우, 그 표현의 정규 표현 엔진상에서 이 메소드를 호출하면(자), 캐릭터 라인 "-foo-foo-foo-" 가 생성됩니다.
이 메소드를 호출하면(자), 이 정규 표현 엔진 상태가 바뀝니다. 이 정규 표현 엔진을 후속의 매치 조작으로 사용하는 경우는, 최초로 정규 표현 엔진을 리셋 할 필요가 있습니다.
replacement
- 치환 캐릭터 라인
public String replaceFirst(String replacement)
이 메소드는 우선, 이 정규 표현 엔진을 리셋 합니다. 다음에, 입력 순서를 주사 해, 패턴과 매치 하는 최초의 캐릭터 라인을 검색합니다. 패턴과 매치 하지 않는 캐릭터 라인은, 결과 캐릭터 라인에 직접 추가됩니다. 패턴과 매치 한 캐릭터 라인은, 치환 캐릭터 라인에 치환되어 결과에 추가됩니다. appendReplacement
메소드와 같게, 전방 참조된 부분 순서에의 참조가 치환 캐릭터 라인에 포함되는 경우가 있습니다.
치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. 달러 기호는, 먼저 설명했던 대로, 전방 참조된 부분 순서에의 참조로서 처리되는 경우가 있어, backslash는 치환 캐릭터 라인내의 리터럴 문자를 이스케이프 하는데 사용됩니다.
정규 표현 dog, 입력 "zzzdogzzzdogzzz", 및 치환 캐릭터 라인 "cat" 를 지정했을 경우, 그 표현의 정규 표현 엔진상에서 이 메소드를 호출하면(자), 캐릭터 라인 "zzzcatzzzdogzzz" 가 생성됩니다.
이 메소드를 호출하면(자), 이 정규 표현 엔진 상태가 바뀝니다. 이 정규 표현 엔진을 후속의 매치 조작으로 사용하는 경우는, 최초로 정규 표현 엔진을 리셋 할 필요가 있습니다.
replacement
- 치환 캐릭터 라인
public Matcher region(int start, int end)
start
파라미터에 의해 지정된 인덱스에, 영역의 말미가 end
파라미터에 의해 지정된 인덱스에 각각 설정됩니다.
사용되는 투명도와 엥커 설정에 따라서는 (useTransparentBounds
및 useAnchoringBounds
를 참조), 엥커등의 특정의 작성상의 행동이 영역의 경계 또는 그 부근에서 다른 경우가 있습니다.
start
- 검색을 개시하는 위치의 인덱스 (그 값도 포함한다)end
- 검색을 종료하는 위치의 인덱스 (그 값을 포함하지 않는다)
IndexOutOfBoundsException
- start 또는 end 가 제로보다 작은 경우, start 가 입력 순서의 길이보다 큰 경우, end 가 입력 순서의 길이보다 큰 경우, 또는 start 가 end 보다 큰 경우public int regionStart()
regionStart
(그 값도 포함한다)와 regionEnd
(그 값을 포함하지 않는다)의 내부에서의 매치 검색에 제한됩니다.
public int regionEnd()
regionStart
(그 값도 포함한다)와 regionEnd
(그 값을 포함하지 않는다)의 내부에서의 매치 검색에 제한됩니다.
public boolean hasTransparentBounds()
이 메소드는,transparent 경계가 이 정규 표현 엔진으로 사용되는 경우는 true 를 돌려주어,opaque 경계가 사용되는 경우에는 false 를 돌려줍니다.
투명 또는 불투명의 경계의 상세한 것에 대하여는,useTransparentBounds
를 참조해 주세요.
디폴트에서는, 정규 표현 엔진은 불투명의 영역 경계를 사용합니다.
useTransparentBounds(boolean)
public Matcher useTransparentBounds(boolean b)
이 메소드에 true 의 인수를 지정해 호출하면(자),transparent 경계가 이 정규 표현 엔진으로 사용됩니다. boolean 인수가 false 의 경우는,opaque 경계가 사용됩니다.
투명한 경계를 사용하는 경우, 이 정규 표현 엔진의 영역은, 전방, 후방, 및 경계의 매칭 작성으로 투명하게 됩니다. 이러한 작성은, 매치이 적절한가 어떤가를 영역의 경계를 넘어 볼 수가 있습니다.
불투명한 경계를 사용하면(자), 이 정규 표현 엔진의 경계는, 전방, 후방, 및 경계를 넘어 검색을 시도하는 매칭 작성으로 불투명이 됩니다. 이러한 작성에서는 경계를 이전으로 거슬러 올라가 검색할 수 없기 때문에, 영역외에서는 어떠한 매칭도 실패합니다.
디폴트에서는, 정규 표현 엔진은 불투명의 경계를 사용합니다.
b
- 불투명 또는 투명의 영역의 어느 쪽을 사용하는지를 나타내는 boolean
hasTransparentBounds()
public boolean hasAnchoringBounds()
이 메소드는,anchoring 경계가 이 정규 표현 엔진으로 사용되는 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다.
엥커 설정 경계의 상세한 것에 대하여는, useTransparentBounds
를 참조해 주세요.
디폴트에서는, 정규 표현 엔진은 엥커 설정 영역 경계를 사용합니다.
useAnchoringBounds(boolean)
public Matcher useAnchoringBounds(boolean b)
이 메소드에 true 의 인수를 지정해 호출하면(자),anchoring 경계가 이 정규 표현 엔진으로 사용됩니다. boolean 인수가 false 의 경우는,non-anchoring 경계가 사용됩니다.
엥커 설정 경계가 사용되면(자), 이 정규 표현 엔진의 영역의 경계는, ^ 및 $ 등의 엥커에 매치 합니다.
엥커 설정 경계가 사용되지 않는 경우는, 이 정규 표현 엔진의 영역의 경계는, ^ 및 $ 등의 엥커에 매치 하지 않습니다.
디폴트에서는, 정규 표현 엔진은 엥커 설정 영역 경계를 사용합니다.
b
- 엥커 설정 경계를 사용할지 어떨지를 나타내는 boolean
hasAnchoringBounds()
public String toString()
이 정규 표현 엔진의 캐릭터 라인 표현을 돌려줍니다. Matcher
의 캐릭터 라인 표현에는, 디버그에 유용한 정보가 포함됩니다. 엄밀한 서식은 지정되지 않습니다.
Object
내의 toString
public boolean hitEnd()
이 정규 검색 엔진이 실행한 마지막 매치 조작으로, 입력의 말미가 검색 엔진에 의해 히트 했을 경우에, true 를 돌려줍니다.
이 메소드가 true 를 돌려주는 경우, 입력이 한층 더 많으면, 마지막 검색의 결과가 변경된 가능성이 있습니다.
public boolean requireEnd()
보다 많은 입력으로 정의 매치이 부의 매치으로 변경될 가능성이 있는 경우에, true 를 돌려줍니다.
이 메소드가 true 를 돌려주어, 한편 매치이 검출되었을 경우, 보다 많은 입력이 있으면 매치이 없어진 가능성이 있습니다. 이 메소드가 false 를 돌려주어, 한편 매치이 검출되었을 경우, 보다 많은 입력이 있으면 매치은 변경되지만, 없어질 것은 없었던 가능성이 있습니다. 매치이 검출되지 않았던 경우, requireEnd 에 의미는 없습니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.