정규 표현 식 5 - 그룹 돌격

2178 단어
모든 작은 새 들 이 분노 했다. 왜냐하면 우 리 는 아직 조 를 나 누 어 작전 을 할 줄 모 르 기 때문이다.
우 리 는 작은 새 들 을 예 로 들 어 조 를 나 누 는 것 을 배 웠 다.
var str = 
'【    】(  )   ,   ,   ,   ,         。         ,       。(  1-1)
【 】( ) , , , 3 。 , 。( 1-10)'; str.match(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm); str.split(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm);

우 리 는 격식 을
"【    】    (  ),     1-1
【 】 ( ), 1-10"

분석 문자열
  • 여러 줄 의 전체 검색 이 필요 하고 앞 뒤 에 문자 가 없어 야 하기 때문에 사용 해 야 합 니 다 gm^$.
  • 이름 을 꺼 내야 합 니 다. [[\ u4e 00 - \ u9fa 5] +]
  • 별명 을 받 아야 합 니 다. ([\ u4e 00 - \ u9fa 5] +)
  • 능력 을 획득 해 야 합 니 다. [\ u4e 00 - \ u9fa 50 - 9,] +
  • 관문 을 받 아야 합 니 다. [\ u4e 00 - \ u9fa 5] + (\ d + - \ d +) 이상 을 연결 하면 됩 니 다.
  • /^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm
    

    팀 을 나 눠 서 뭐 하 겠 어 요.
    우 리 는 () 조 를 나 누 는 데 쓰 인 다 는 것 을 알 고 있 지만, 조 를 나 누 면 무슨 소 용이 있 습 니까?위 에 각각 2, 3, 4, 5 보 의 정규 에 () 를 더 해 주 었 다.우 리 는 string 의 replace 함수 에서 그룹 을 사용 할 수 있 습 니 다.이 코드 좀 보 세 요.
    str.replace(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))([\u4e00-\u9fa50-9,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm, "$1    $2,     $4");
    

    이렇게 해서 우리 의 목적 은 이미 달성 되 었 다. 수출 "【 】 ( ), 1-1
    【 】 ( ), 1-10"
    .
    캡 처 되 지 않 은 그룹
    우 리 는 위 에서 사용 $4 이 관문 을 인용 한 것 을 알 수 있 습 니 다. 어떻게 사용 $3 하면 인용 합 니까?
    str.replace(/^(【[\u4e00-\u9fa5]+】)(([\u4e00-\u9fa5]+))(?:[\u4e00-\u9fa50-9,。]+)([\u4e00-\u9fa5]+(\d+\-\d+))$/gm, "$1    $2,     $3");
    
    ?: 포획 하지 않 는 그룹 을 표시 합 니 다. 우 리 는 능력 그룹 (?:[\u4e00-\u9fa50-9,。]+) 에 포획 하지 않 는 표 지 를 붙 였 습 니 다.
    유용 한 도구
    정규 표현 식 이 복잡 해 지면 이해 하기 어렵 고, 이 럴 때 는 일부 도 구 를 이용 하 는 것 이 매우 유용 하 다.
    http://www.regexr.com/
    위의 이 사 이 트 는 정규 표현 식 을 분석 하 는 데 쓸 수 있다.하 이 라이트 기능 이 있어 요.안 타 깝 게 도 중국어 에 대한 지원 이 좋 지 않 습 니 다.

    좋은 웹페이지 즐겨찾기