2014-10-19 3 views
-1

단어의 첫 번째 문자가 소문자인지 아닌지 평가하려면 정규식이 필요합니다. 나는 그 단어가있는 경우 Character.toString(charcter).matches("[a-z?]")문자열의 첫 번째 문자를 정규 표현식과 일치시키는 방법은 무엇입니까?

예를 들어 결과는 다음과 같습니다 :

내가이 자바 코드가

  • A13 => 진정한
  • B54 => 거짓을
  • & 32 = > 거짓

단 하나의 문자와 일치시키고 싶습니다. "?", "." 또는 "{a-z}"뒤 또는 안에있는 "{1}"

+6

당신은 그렇게 할 수있는 정규 표현식이 필요하지 않습니다. 그것은 자원과 시간 낭비입니다. 'yourString.charAt (0)'을 사용하고이 char가''a ''와''z ''사이에 있는지를 검증 할 수 있습니다. –

+0

감사합니다. 나는 내 문제를 해결했다. – Diego

답변

5

regexes없이이를 수행 할 수있는 방법이 있습니다.

Character.isLowerCase(string.charAt(0)) 
0

정확히 하나의 소문자가 있으면 일치시키고 싶습니다. @Luiggi Medonza가 언급 한 바와 같이, 당신은 정말 /이에 대한 정규 표현식 필요가 없습니다,하지만 당신이 그들을 사용하려는 경우, 당신은 대부분이 패턴을 원하는 : 무엇을 ?

[a-z]{1} 

는 선택 일치. 길이 1의 엄격한 일치가 필요하므로 {1}이 필요합니다.

@Ted Hopp는 {1}이 필요 없다고 언급했습니다. 전체 일치 항목은 다음과 같아야합니다.

entire_string.matches("^[a-z].+$") 

다시 말하면, 내장 문자열 방법을 사용하면 훨씬 빠르고 더 사용하기 쉬울 것입니다.

+0

정확히 하나의 문자와 일치시키기 위해'{1} '이 필요하지 않습니다. 그것은 양화기가 전혀 없을 때 일어날 것입니다. 그냥 [[a-z]'를 사용하십시오. –

+0

정규 표현식에서'{1} '이 필요한 경우가 있는지 확실하지 않습니다. 또한'matches'는 전체 문자열이 문자열의 일부가 아닌 정규 표현식과 일치하는지 검사합니다. – Pshemo

+0

감사합니다. [a-z]와 [A-Z]에서 일치시키려는 경우. 어떻게 될까요? – Diego

1

사용자의 요구에 대해이 작업을 사용하십시오 : /^[a-z]/

관련 문제