2011-01-17 5 views
1

정규식을 사용하여 두 태그 사이에서 양수와 음수를 일치 시키려고 시도하면 양수는 정상으로 반환되지만 음수는 일치하지 않습니다. 내가 사용하고 :음수 및 양수 십진수와 일치합니까?

string value8 = (",\"lng\":\"(([^\"\\\\]|-\\\\.)*)\","); 
Match[] lng = Regex.Matches(Text, value8) 

"lng":"-104.845275878905880" 

또는 유사에 맞게, 그것은 양 또는 음이 될 수 있습니다. 양수 일 때 숫자와 일치하지만 음수 일 때는 일치가 없습니다.

답변

2

내가 뭔가를 놓치지 않는 한 정규 표현식은 필요 이상으로 복잡해 보입니다. 이 같은 것을 사용할 수 있어야한다 : 즉, 샘플 데이터를 일치에서이 패턴을 방지하는 것처럼

"\"lng\":\\\"(-?[0-9]*\\.?[0-9]*)\\\"" 

덧붙여, 나는, 당신의 표현의 시작 부분에 쉼표를 제거했습니다.

+0

아쉽게도 쉼표는 0.00000000000000과 일치하지만 거기에 있어야한다는 것에 대해 사과드립니다. – user556396

+0

@ user556396 : 쉼표를 추가하면이 새로운 패턴이 문제를 해결합니까? –