2010-05-20 4 views
1

예 :문자열에 정규식을 사용하는 문자가 하나 이상 있는지 어떻게 알 수 있습니까?

  1. "1 이름"는
  2. "10,000"문자가 말을해야 : OK
  3. "na123me": ", 123 NA 000"는 문자
  4. 을 가지고 말해야한다 : 문자가 있다고 말해야합니다
+3

영문자는 무엇을 의미합니까? 영문자 만?/[a-zA-Z] */ – WhirlWind

+2

질문을 명확히하십시오. – Femaref

+0

"문자열에 영문자가 있는지 확인"이란 무엇을 의미합니까? 문자열에 알파벳 문자가 있는지 알고 싶습니까? – goedson

답변

2

당신이 원하는 정규 표현식은 [a-zA-Z],하지만 당신은 find() 방법을 사용해야합니다.

이 페이지에서는 정규식을 입력에 대해 테스트 할 수 있습니다.

http://www.fileformat.info/tool/regex.htm

0

이 줄에서는 문자열에 정규식 (이 경우 a, b, c, ... z 및 A, B, C,)이 제공 한 문자 만 포함되어 있는지 확인할 수 있습니다. ..Z) :

+2

정규식은 적어도 하나의 알파벳 문자 – Kip

+0

을 가진 모든 문자열과 일치 할 것입니다. 적어도 하나의 알파벳 문자가 아니라 정확히 하나의 알파벳 문자를 가진 문자열과 일치 할 것이라고 생각했습니다. 별표가 필요하지 않니? – Paul

+0

고마워, 하나 추가 했어. – tangens

5
public static void main(String[] args) 

{ 
    Pattern p = Pattern.compile("^([^a-zA-Z]*([a-zA-Z]+)[^a-zA-Z]*)+$"); 
    Matcher m = p.matcher("1 name"); 
    Matcher m1 = p.matcher("10,000"); 
    Matcher m2 = p.matcher("na123me"); 
    Matcher m3 = p.matcher("na 123, 000"); 
    Matcher m4 = p.matcher("13bbbb13jdfgjd43534 fkgdfkgjk34 rktekjg i54 "); 

    if (m.matches()) 
     System.out.println(m.group(1)); 

    if (m1.matches()) 
     System.out.println(m1.group(1)); 

    if(m2.matches()) 
     System.out.println(m2.group(1)); 

    if(m3.matches()) 
     System.out.println(m3.group(1)); 

    if (m4.matches()) 
     System.out.println(m4.group(1)); 
} 

위의 내용은 대문자와 소문자 모두에 일치해야합니다. 정규 표현식이 일치를 반환하면 문자열에 문자가 들어갑니다.

결과

1 이름

NA 123, 000

I54

표현과 일치하지 않는 어떤 문자를 포함하지 않는 문.

+3

일치하면 문자열에 * 문자 * (A-Z) 만 표시됩니다. –

+0

지금 수정해야합니다. 알려 줘서 고마워. – npinti

+0

입력에 실패 함 : "11" – OscarRyz

10
public class HasCharacters { 
    public static void main(String [] args){ 
     if(args[0].matches(".*[a-zA-Z]+.*")){ 
      System.out.println("Has characters "); 
     } else { 
      System.out.println("Ok"); 
     } 
    } 
} 

테스트

$java HasCharacters "1 name" 
Has characters 
$java HasCharacters "10,000" 
Ok 
$java HasCharacters "na123me" 
Has characters 
$java HasCharacters "na 123, 000" 
Has characters 
+1

이것은 작동하지 않습니다. 자바 정규 표현식은 기본적으로'^'와'$'로 묶여있다. '1name'으로 직접 시험하십시오. – BalusC

+0

첫 번째 예제에서는 실패합니다. – Vishal

+1

고정 및 테스트 B-) – OscarRyz

관련 문제