2013-12-13 11 views
0

regex를 사용하여 긴 문자열에서 전화 번호를 추출하는 방법은 무엇입니까? 여기에 전화 번호는 단순한 10 자리 숫자이며 서식이 없습니다. 1234567890, 0000000000문자열에서 전화 번호 추출

가능한 중복 : Extracting phone number from string

그러나 여기 허용 대답, 단지 숫자 (등 한 자리, 두 자릿수 .. & 반드시 10 자리 전화 번호)

+0

[문자열에서 전화 번호를 추출]의 중복 가능성 (일치하는 10 자리 숫자이 정규식을 시도 할 http://stackoverflow.com/questions/7912779/extracting-phone-number-from-string) –

+0

@Chris 챔버스 : 나는이 질문에 이미 이것을 썼다. 그리고 그곳의 해답이 아무도 그 문제를 해결하지 못하는 이유에 대해서도 언급했다. – user96546

+0

질문의 어느 부분이 불분명한지 아무도 지적하지 않고 내가 더 잘 짜낼 수 있는지 언급 할 수있다. 많은 질문에 대한 답을 얻지 못했을 것입니다. – user96546

답변

1

\\d{10}는 10 자리

사용할 수 있습니다 그러나 모바일 결코 위스콘신을 시작하지 않습니다 사용 그래서 제로 번째,이 [1-9]\\d{9}

2

정확히 10 일치 일치 자리 [0-9]{10}

1
List<String> list= new ArrayList<String>(); 
Matcher m=Pattern.complie("\\d{10}").matcher(input); 
while(m.find()) 
    list.add(m.group()); 
1

[0-9]{10} 

enter image description here

String mob = "1234567890"; 
    if(mob.matches("[0-9]{10}")) 
     System.out.println("Valid"); 
    else 
     System.out.println("InValid"); 
1
 String mobileNo = "[0-9]"; 
    int counter=0; 
    Pattern pattern = Pattern.compile(mobileNo); 
    Matcher matcher = pattern.matcher(The String in which we have to find the number); 
    while(matcher.find()) 
{ 
System.out.println("STart index is "+matcher.start()); 
System.out.println("End index is "+matcher.end()); 
System.out.println(matcher.group); 
counter++; 
} 
if(counter==10) 
{ 
System.out.println("Mobile no. found"); 
counter=0; 
} 
+0

질문에 대한 답을 얻지 못했을 때, 두 가지가 있습니다. 1. 질문을 이해할 수 없다면 그 질문은 쓸모가 없다. 그리고 당신은 그 질문을 알고 싶다. 답을 보길 원한다면 질문이 분명해질 것이다. 나는 당신이 그렇게 똑똑해야한다고 확신한다. . 2. 당신이 너무 쉽게 생각하거나 그렇게 생각한다면, 주제를 닫아야한다는 것을 의미하지 않는다. 문제는 다른 어떤 것도 문제가되지 않는다.이 커뮤니티는 MIT 또는 스탠포드의 사람들 만이 아니다. . – Khay