2016-07-14 2 views
0

이것은 아주 기본적인 질문이라고 생각하지만 개념을 이해할 수 없습니다. 난 그냥 숫자를 확인하고 이후 난 그냥 11을 받아야 값을 인쇄 할 때 나의 이해에 따라, 이제정규 표현식 (일치 함수), javascript

var t = '11:59 am'; 
t.match(/^(\d+)/); 

: 나는 다음과 같은 정규 표현식을 가지고있다. 그러나 11,11이 있습니다. t.match(/^(\d+)/)[0]과 같은 필수 값을 선택하려면 0 번째 요소를 사용해야합니다.

답변

1

숫자 주위에 capture group, (),을 사용하고 있기 때문입니다. 이것을 교체하십시오 :

t.match(/^\d+/); 

참고 : 그 .match()가하는 단지 무엇 때문에 여전히 배열을 반환합니다.

+1

감사합니다. 샘. 지금 이해합니다. 나는 포획단에 대해 안다. –

+1

기꺼이 도와 드리겠습니다. 미안하지만, 내가 아는 한, 데이터 배열 대신에 단순한 문자열을 반환하는 좋은 JS regex 메서드는 없다. ['/^\d+/.exec(t)'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec)는'[ '11' ]'도 마찬가지입니다. – Sam

1

match()always returns an array 일치하는 항목이있는 경우. 요소 [0]은 전체 일치이고 요소 [1]은 첫 번째 괄호 집합 안에 있습니다.