자바 정규 표현 식 에서 문 자 를 추출 하 는 방법 인 스 턴 스

문자열 에 있 는 특정한 문 자 를 모두 추출 해 야 하 는 필요 가 있 습 니 다.이것 은 일반적인 문자열 로 처리 하면 매우 번 거 롭 습 니 다.그래서 정규 표현 식 으로 완성 하고 싶 었 습 니 다.프로젝트 수 요 는 다음 과 같다.자동차 번호 의 마지막 숫자 를 추출 해 야 한다.예 를 들 어 소 A 7865 추출 5,소 A876X 추출 6 이다.
실현 방법:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s = "A876X";
//                ,               
//    ,           ,      “          0          ”
Pattern pattern = Pattern.compile("(\\d)[^\\d]*$");
Matcher matcher = pattern.matcher(s);
if(matcher.find())
System.out.println(matcher.group(1));
}
}
Matcher 의 몇 가지 방법 에 대한 설명:
Mathcer.start()/ Matcher.end()/ Matcher.group()
matches(),lookingAt(),find()를 사용 하여 일치 하 는 동작 을 수행 하면 상기 세 가지 방법 으로 더 자세 한 정 보 를 얻 을 수 있 습 니 다.
start()문자열 에 일치 하 는 하위 문자열 의 색인 위 치 를 되 돌려 줍 니 다.
end()는 일치 하 는 하위 문자열 의 마지막 문자 가 문자열 에 있 는 색인 위 치 를 되 돌려 줍 니 다.
group()일치 하 는 하위 문자열 되 돌려 주기
Java 코드 예제:

Pattern p=Pattern.compile(“\d+”); 
Matcher m=p.matcher(“aaa2223bb”); 
m.find();//  2223 
m.start();//  3 
m.end();//  7,    2223      
m.group();//  2223
Mathcer m2=p.matcher(“2223bb”); 
m2.lookingAt(); //  2223 
m2.start(); //  0,  lookingAt()          ,     lookingAt()   ,start()      0 
m2.end(); //  4 
m2.group(); //  2223
Matcher m3=p.matcher(“2223”); //  Matcher m3=p.matcher(“2223bb”);          ,       false 
m3.matches(); //        
m3.start(); //  0 
m3.end(); //  3,          ,  matches()          
m3.group(); //  2223
이렇게 많아
start(),end(),group()은 모두 재 부팅 방법 이 있 습 니 다.start(int i),end(int i),group(int i)은 그룹 작업 에 만 사용 되 고 Mathcer 류 는 groupCount()가 몇 그룹 으로 되 돌아 가 는 지 에 사 용 됩 니 다.
Java 코드 예제:

Pattern p=Pattern.compile(“([a-z]+)(\d+)”); 
Matcher m=p.matcher(“aaa2223bb”); 
m.find(); //  aaa2223 
m.groupCount(); //  2,   2  
m.start(1); //  0                        
m.start(2); //  3 
m.end(1); //  3                               . 
m.end(2); //  7 
m.group(1); //  aaa,              
m.group(2); //  2223,             
지금 우 리 는 약간 고 급 스 러 운 정규 일치 동작 을 사용 합 니 다.예 를 들 어 텍스트 가 있 습 니 다.안에 많은 숫자 가 있 습 니 다.그리고 이 숫자 들 은 분 리 된 것 입 니 다.우 리 는 지금 텍스트 의 모든 숫자 를 꺼 내 려 고 합 니 다.자바 의 정규 조작 을 이용 하 는 것 이 그렇게 간단 합 니 다.
Java 코드 예제:

Pattern p=Pattern.compile(“\d+”); 
Matcher m=p.matcher(“  QQ :456456      :0532214      :[email protected]”); 
while(m.find()) { 
System.out.println(m.group()); 
}
출력:
456456
0532214
123
위 while()순환 을 바 꾸 면

while(m.find()) { 
System.out.println(m.group()); 
System.out.print(“start:”+m.start()); 
System.out.println(” end:”+m.end()); 
} 
출력:
456456
start:6 end:12
0532214
start:19 end:26
123
start:36 end:39
일치 하 는 동작 을 수행 할 때마다 start(),end(),group()세 가지 방법의 값 이 바 뀌 고 일치 하 는 하위 문자열 의 정보 로 바 뀌 며 재 업로드 방법 도 해당 하 는 정보 로 바 뀌 는 것 을 알 아야 합 니 다.
메모:일치 하 는 작업 이 성공 해야만 start(),end(),group()세 가지 방법 을 사용 할 수 있 습 니 다.그렇지 않 으 면 자바.lang.IllegalState Exception,즉 matches(),lookingAt(),find()중 임의의 방법 이 true 로 돌아 갈 때 만 사용 할 수 있 습 니 다.
이상 의 내용 은 자바 정규 표현 식 에서 문 자 를 추출 하 는 방법 인 스 턴 스 를 소개 합 니 다.도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기