자바 정리 정규 표현 식 30 분 입문 강좌 저 는 5 분 밖 에 안 걸 려 요.

3475 단어 javaweb

2017 년 02 월 15 일 16: 10: 51 HZ_LIZX 독해 수: 1795 태그: 자바 정규 표현 식 훨씬
개인 분류: 자바 원리
요약:
 
(1)
. 줄 바 꿈 자 를 제외 한 임의의 문자 와 일치 합 니 다 \ w 알파벳 이나 숫자 일치 \ s 임의의 공백 문자 와 일치 합 니 다 \ d 일치 하 는 숫자 \ b 단어의 시작 이나 끝 과 일치 합 니 다 ^ 문자열 과 일치 하 는 시작 $ 일치 하 는 문자열 의 끝
 
(2)
만약 당신 이 특수 코드 자 체 를 찾 고 싶다 면, 예 를 들 어 당신 이 찾 거나 *, 문제 가 발생 했 습 니 다. 당신 은 그것들 을 지정 할 수 없습니다. 왜냐하면 그것 은 다른 뜻 으로 해석 되 기 때 문 입 니 다.
이 문자 들 의 특별한 의 미 를 취소 하려 면 \ 를 사용 해 야 합 니 다.그러므로 너 는 반드시 \ 와 \ 를 사용 해 야 한다.물론 그 자 체 를 찾 으 려 면 너 도 \ \ 를 써 야 한다.
 
(3)
* 0 회 혹은 그 이상 반복 + 한 번 반복 하거나 더 많이? 0 회 또는 1 회 반복 {n} n 회 반복 {n,} n 회 이상 반복 {n, m} n ~ m 회 반복
 
(4)
\ W 는 알파벳 과 숫자 가 아 닌 임의의 문자 와 일치 합 니 다 \ S 공백 문자 가 아 닌 임의의 문자 와 일치 합 니 다 \ D 임의의 숫자 가 아 닌 문자 와 일치 합 니 다 \ B 단어 가 시작 되 거나 끝 나 는 위치 가 아 닌 일치 [^ x] x 를 제외 한 임의의 문자 와 일치 합 니 다 [^ aeiou] aeiou 라 는 알파벳 을 제외 한 임의의 문자 와 일치 합 니 다.
 
(5)
(exp) exp 와 일치 하고 자동 으로 이름 이 붙 은 그룹 에 텍스트 를 캡 처 합 니 다 (? exp) exp 와 일치 하고 이름 이 name 인 그룹 에 텍스트 를 캡 처 합 니 다 (?: exp) exp 와 일치 합 니 다. 일치 하 는 텍스트 위 치 를 지정 하지 않 습 니 다 (? = exp) exp 앞 위치 와 일치 합 니 다 (? < = exp) exp 뒤의 위치 와 일치 합 니 다 (?! exp) 뒤에 있 는 것 과 일치 하 는 것 은 exp 의 위치 가 아 닙 니 다 (? 주석 (? \ # comment) 이러한 유형의 그룹 은 정규 표현 식 의 처리 에 영향 을 주지 않 고 주석 을 읽 게 하기 위해 서 입 니 다.
 
(6)
*? 임 의 반복 이지 만 가능 한 한 반복 +? 한 번 또는 더 여러 번 반복 하지만 가능 한 한 적 게 반복?? 0 회 또는 1 회 반복 하지만 가능 한 한 {n, m} 을 적 게 반복 합 니까? n 에서 m 까지 반복 하지만 가능 한 한 {n,} 을 적 게 반복 합 니까? n 회 이상 반복 되 지만 가능 한 한 적 게 반복 합 니 다.
 
예 를 들다.
자바 에 서 는 문자열 의 첫 번 째 영문 왼쪽 괄호 앞 문자열 을 정규 표현 식 으로 캡 처 합 니 다. 예 를 들 어 베 이 징 시 (해정 구) (조양 구) (서성 구), 캡 처 결 과 는 베 이 징 시 입 니 다. 정규 표현 식 은 () 입 니 다.
  • ".*?(?=\\()"
  • ".*?(?=\()"
  • ".*(?=\\()"
  • ".*(?=\()"

  •  
     
    코드:
    import java. util. regex. Matcher; import java. util. regex. Pattern; public class StaticStuff {public static void main (String [] args) {String text = "북경 시 (해정 구) (서성 구)"; Pattern pattern = Pattern. compile (". *? (? = \ \ \ ()"); Matcher matcher = pattern. matcher (text); if (matcher. find () {System. out. println (matcher. group (0);}}
    }
     
    BD 가 틀 릴 수 있 습 니 다: Invalid escape sequence (valid ones are \b  \t    \f  \r  \"  \'  \\ )  사용 해 야 합 니 다.
     
    C 의 운행 결 과 는 베 이 징 시 (해정 구) (조양 구) 이다. 
    A 의 운행 결 과 는: 북경 시
    A 와 C 의 차 이 는:
     
    앞의. *? 탐욕 이 일치 하지 않 는 다 는 뜻 으로 가장 작은 것 을 찾 으 면 된다 는 뜻 입 니 다.
    (? = Expression) 순서 로 둘 러 보 세 요. (? = \ \ () 는 괄호 와 일치 합 니 다.
     
     
     
    1. 정규 표현 식 의 탐욕 과 비 탐욕 이 일치 하 는 것 은 무엇 입 니까?
     
    예: String str = "abcaxc";
    Patter p="ab*c";
    탐욕 일치: 정규 표현 식 은 일반적으로 최대 길이 로 일치 하 는 경향 이 있 습 니 다. 즉, 탐욕 일치 입 니 다. 위 에서 패턴 p 를 사용 하여 문자열 str 와 일치 하 는 결 과 는 abcaxc (ab * c) 와 일치 합 니 다.
    탐욕 이 아 닌 일치: 결과 에 맞 으 면 됩 니 다. 일치 하 는 문자 가 적 습 니 다. 위 에서 패턴 p 를 사용 하면 문자열 str 와 일치 합 니 다. 결 과 는 abc (ab * c) 와 일치 합 니 다.
    2. 프로 그래 밍 에서 두 가지 모델 을 어떻게 구분 합 니까?
    기본 값 은 탐욕 모드 입 니 다. 양사 뒤에 물음 표를 직접 붙 입 니까? 바로 비 탐욕 모드 입 니 다.
    양사: {m, n}: m 에서 n 개
    *: 임의의 여러 개
    +: 하나 에서 여러 개
    0 혹은 하나
    그리고 이 문제.
    임 의 문자
    * 매 칭 0 - 무한  +무한
    (? = Expression) 순서 로 둘 러 보 세 요. (? = \ \ () 는 괄호 와 일치 합 니 다.
    게 으 름 모드 정규:  src=".*? (?=\\()) "
    결과: 북경 시
    첫 번 째 일치 로 한 번 의 일치 가 끝 났 기 때 문 입 니 다. 계속 뒤로 일치 하지 않 습 니 다. 게 으 르 니까 요.

    좋은 웹페이지 즐겨찾기