2017-02-09 1 views
0

정규식 캡처 그룹이 3 번 이상 일치하는 경우에만 일치 시키려고합니다. 이 정규식 ((\d{3}-\d{2}-\d{4}){3,})을 시도하는 것은 일치하도록 :regex : x 또는 그 이상 회수 그룹

111-11-6534 
111-11-6534 
111-11-6534 
123-11-6534 
123-11-6534 
123-11-6534 
111-11-6534 

내 정규식은 분명히 작동하지 않습니다. 캡처 그룹에 {x} 이상의 일치 항목이있는 경우에만 일치하는 방법이 있습니까?

+1

사용 :'(? (: \ D {3} - \ d를 {2} - \ d를 {4} \ S *) {3})' – anubhava

+1

는 HTTPS를 참조하십시오 : // regex101. com/r/X0IgxS/1. 요점은 그 패턴의 발생 사이에있는 것을 일치시켜야한다는 것입니다. –

답변

0

freenode의 #regex에있는 멋진 사람들에게 많은 감사를드립니다. 이것은 내가하고자하는 일을 성취합니다 : 10 개 이상의 항목이있는 경우에만 일치하고 숫자 문자열 앞이나 뒤에 문자가있는 경우에도 일치시킵니다.

(?:.*?\d{3}-?\d{2}-?\d{4}.*(?:\r?\n)?){10,}