2014-01-23 3 views
0

저는 C#에서 자바 스크립트를 파싱하고 싶습니다. 제가 원하는 것은 정보 2에서 양을 추출 할 정규식입니다 정규 표현식 어설 션이 작동하지 않습니다.

var info1 = {timestamp: "1390678800000",amount: "123",guaranteed: "False"}; 
var info2 = {timestamp: "1390510500000",amount: "234",guaranteed: "True"}; 
var info3 = {timestamp: "1390678800000",amount: "123",guaranteed: "False"}; 

처럼

자바 스크립트입니다.

나는

(?<=(info2((\s|=)+){.+amount:\s?")).*(?=",.*) 

대신 (234)이 정규식은

234",guaranteed: "True"};var info3 = {timestamp: "1390510500000",amount: "345 

내가 그것을 어떻게 해결할 수를 반환해야?

고마워요.

+0

대신 JSON을 구문 분석하지 않는 이유는 무엇입니까? '{'는 메타 문자 btw입니다. – tenub

답변

1

미리보기를하기 전에 욕심이 일치했기 때문입니다. ?을 추가하여 .*이 가능한 한 적게 사용되는지 확인하십시오. 나는 또한 {을 탈출했다.

(?<=(info2((\s|=)+)\{.+amount:\s?")).*?(?=",.*) 

어쨌든 작업을해야하기 때문에 당신은 아마 RegexOptions.Singleline을 가지고 있지만

(모든 info의 실제 코드에서 같은 줄에 있지 않는?).

가능한 경우 정규식을 사용하는 대신 JSON 파서를 사용하는 것이 좋습니다.

관련 문제