c# - Extracting parts of string with specific limits -


i have small problem. string has following format;

{"version":"5.14.1","id":"abcd","key":"266",...... etc 

i want abcd after "id" , have tried

i tried

string[] output; output = regex.matches(site,"(?<=(?:\"id\")\:\")([^\"]+)").cast<match>().select(m => m.value).toarray(); 

but when try compile says "unrecognized escape sequence" colon after id.

the regex expression used worked is:

(?<=(?:"id")\:")([^"]+) 

but i'm not sure how put inside regex.matches (i tried put \ before " says unrecognized escape sequence)

the regex error right -- : not special character within regular expression (except contextually in e.g. (?:) groups), can't escaped. (note there's 2 levels of escaping going on here: when \: seen within c# string, c# compiler decides : isn't special , silently leaves literal backslash preceding it; then, regex engine tries interpret , generates error.)

a regex want (for sample string, anyway) is:

"\"id\":\"([^\"]+)" 

but suggest using proper parser, since looks suspiciously json. regular expressions convenient, assumes lot input use 1 here (e.g. there data {'foo':'"id":"hmm"',"id": "realid"...


Comments

Popular posts from this blog

Fail to load namespace Spring Security http://www.springframework.org/security/tags -

sql - MySQL query optimization using coalesce -

unity3d - Unity local avoidance in user created world -