2012-05-21 3 views

답변

1

^ 문자열 사이에하지에, 091로 시작하는 경우에만 숫자와 일치합니다. 일반 표현식에서 단어 경계를 일치시켜야합니다 ( ). 그렇지 않으면 091로 시작하지만 이후 8 자리 이상인 표현식도 가져옵니다. 괄호 안의 http://regexr.com?310ra

caputred 그룹은 당신에게 필요한 수를 줄 것이다 :

이 정규식 \b((091)\d{8})\b이에서 작업을 참조하십시오.

+2

모든 그룹을 캡처 할 필요는 없습니다. 모든 대괄호를 지울 수 있습니다. 결과는 전체 일치입니다. – stema

+0

@stema 나는 동의한다. 그 점을 지적 해 주셔서 감사합니다. – DhruvPathak

+0

감사합니다. 샘플을 사용해 보았지만 정상적으로 작동합니다! –

3

당신이 일치해야 word boundary (\ b)는

+0

괄호에는 캡처 그룹에 전체 단어를 포함하는'\ d {8} '이 포함되어야합니다. '\ b (091 \ d {8}) '과 같은 것. – phatfingers

+0

@phatfingers, 대괄호는 전혀 필요하지 않습니다. 그룹이 전체 패턴 일 때 왜 캡처 그룹이 필요한가요? – stema

+0

관심을 가져 주셔서 감사합니다 –

관련 문제