2012-10-24 2 views
0

: 단어, "수", 단어따옴표 안에 숫자 -이 일치하는 정규 표현식 싶습니다 정규식

어디 수 무언가 같이한다 : 100,000.00

지금까지 나는이 문제를 가지고 있지만 난 숫자 주위의 따옴표를 확인하는 방법을 모르겠다.

(w+)(,)\\(d+)(,)(d+)(.)(d+)(,)\\(w+)(,) 
+1

정규식에 따옴표를 추가 하시겠습니까? –

+0

숫자는 정확히 '100,000.00'과 같거나'1''''10.0'' 0.12345''1,000,000.12' 일 수 있습니다. – Pshemo

답변

1

그냥 같이 이스케이프 문자로 따옴표를 추가

을 \\ w +, \\ "\\ D +, \\ D + \\ \\ D + \\."\\ + 승

패턴의 일부가 아니기 때문에 마지막 코마를 제거합니다.

+0

고마워, 난 정규식에 새로운 오전 인용 부호를 탈출했다 몰랐다. – user1155344

+0

@ user1155344 여러분을 환영합니다. – Mik378

+0

@ user1155344 따옴표는 정규 표현식에서 [특수 문자] (http://www.regular-expressions.info/characters.html#SpecialCharacter)가 아니므로 이스케이프 처리가 필요하지 않습니다. 하지만 그들은 Java에서 특수 문자이므로 String에서 일반 문자로 사용할 수 있으려면'\\ "가 아닌'\"'를 사용하여 특별한 의미를 벗어나야합니다. 그 대답은 당신의'단어, "100,000.00", word' 문제를 해결합니다 :) – Pshemo

0

경우 전화 번호가 뒤에 나무 자리 몇 가지 (또는 없음) 세미콜론을 가질 수 있습니다, 또는 정밀 부분은 당신이 정규식을 사용할 수있는 선택이 될 수 있습니다

String regex= 
     "\\w+,\"" +  // word, semicolon, quote mark 
     "\\d{1,3}" + // number in form d, dd, or ddd 
     "(,\\d{3})*" + // optional (* means 0 or more times) part of numbers in format ",ddd" 
     "(\\.\\d{2})?" +// optional (? means 0 or 1 time) part ".dd" 
     "\",\\w+";  // quote mark, semicolon, word 

이 받아 들일 것입니다 :

-precision part is optional 
d 
d.dd 

-number of semicolons can change, but every semicolon MUST have 3 digits after it 
dd,ddd 
d,ddd,ddd 
d,ddd,ddd.dd 
관련 문제