2010-06-21 5 views
1

누구든지이 정규 표현식을 영어로 상세하게 번역 할 수 있습니까?메타 문자와 괄호 정규 표현식

감사합니다.

12,1,2 

나는 점은 새로운 라인을 제외한 모든 문자를 의미 알고

var g = "123456".match(/(.)(.)/); 

나는 출력은 다음과 같습니다 것으로 나타났습니다. 그러나 이것이 실제로 무엇을 하는가?

+1

나는 잘 모르겠다. 그러나 그것은 나를 긴장과 땀을 흘리게하고있다! –

답변

4

한 쌍의 괄호 (첫 번째 문자로?가 없으면 다른 동작을 나타냅니다)는 그룹에 내용을 캡처합니다.

예에서 배열의 첫 번째 항목은 전체 일치 항목이고 이후 항목은 모든 그룹 일치 항목입니다.

코드가 같은 있었다면 그것은 명확 수 있습니다 : 그래서 12345,2,4

를 출력, 다섯 문자와 일치합니다

var g = "123456".match(/.(.).(.)./); 

이 각각 네 번째 그룹 1과 2로 두 번째와 배치 콘텐츠를 캡처하지 않고 순수하게 그룹화하려면 (?:...) 구문을 사용하고 ?: 부분은 캡처 할 수없는 그룹을 나타냅니다. (lookaheads 및 기타 fun stuff 같은 다양한 분류 된 그룹 일이 있습니다.)

은 분명하다 알려줘, 또는 설명 도움말을 더욱 것인가?

+0

설명해 주셔서 감사합니다. –

1

두 개의 문자 - 점으로 인하여 모든 문자 -를 찾은 다음 일치하는 전체 문자열과 각 하위 문자열 (캡처)을 찾을 수 있도록 문자를 '캡처합니다'.