2014-02-12 2 views
1

문자열이 숫자 354에 공백 문자와 그 이후의 문자를 더한 숫자와 일치해야한다는 조건을 설정하려고합니다. 예를 들어 다음 문자열 "354 adfjdakl"은 작동하지만 "354asl;dfa"은 작동하지 않아야합니다. 내가 string.match(regex)을 실행할 때 나는 String regex="354\\s+.*" 같다 정규식을했습니다자바에서 정규식 문제가

그러나 그것은 나에게 정답을 제공하지 않습니다. 그러한 문자열을 지정하는 올바른 형식은 무엇입니까?

+0

마음 것입니까? 그리고 예상되는 결과는 무엇입니까? 그 정규식 귀하의 요구 사항에 따라 잘 될 것 같습니다. –

답변

2

올바른 정규식을 만들었습니다. 적절하게 작동해야합니다.

String regex = "354\\s.+"; 

여기에 직접보기 : 자바에서 http://rubular.com/r/YwrVPD1rwU
그리고 여기 : http://ideone.com/CA1uAg

public static void main (String[] args) throws java.lang.Exception 
{ 
    String regex = "354\\s.+"; 
    System.out.println("354 adfjdakl".matches(regex)); 
    System.out.println("354asl;dfa".matches(regex)); 
} 

출력 :

true 
false 
+2

그러면 문제는 내 정규식과 관련이 없습니다. 그럼에도 불구하고 입력을 주셔서 감사합니다 – sreya

0

사용이 패턴 (\\d+)\\s?.*

String regex="(354)\\s?.*" 
당신은 (354) 이후에 어떤 공백 문자를 찾고 있다면
+0

나는 숫자가 354라는 질문을 특별히 믿습니다. 당신의 패턴은 어떤 숫자와도 일치 할 것입니다. – DanielBarbarian

+1

@DanielBarbarian 업데이트했습니다. – Nambi

0

, 올바른 정규식은 포기하고 입력과 출력이 있어요와 함께, 몇 가지 코드를 보여주는

354\s\S+ 
관련 문제