c# - Regular Expression For JSON -


i have string -

xyz":abc,"lmn 

i want extract abc. regular expression ?

i trying -

/xyz\":(.*?),\"lmn/ 

but not fetching result.

in c# use

var regex = new regex(@"(?<=xyz\"":).*?(?=,\""lmn)"); var value = regex.match(@"xyz"":abc,""lmn").value; 

note makes use of c# verbatim string prefix @ means \ not treated escape character. need use double " single " included in string.

this regex makes use of prefix , suffix matching rules can match without having select specific group result.

alternatively can use group matching

var regex=new regex(@"xyz\"":(.*?),\""lmn"); var value = regex.match(@"xyz"":abc,""lmn").groups[1].value; 

you can check existence of match doing following

var match = regex.match(@"xyz"":abc,""lmn"); var ismatch = match.success; 

and follow either match.value or match.groups[1].value depending on regex used.

edit escaping " not needed in c# regex use either of following instead.

var regex = new regex("(?<=xyz\":).*?(?=,\"lmn)"); var regex = new regex("xyz\":(.*?),\"lmn"); 

these 2 not use verbatim string prefix, \" translated " in regex giving regex of (?<=xyz":).*?(?=,"lmn) or xyz":(.*?),"lmn

additionally if entire string match rather substring want 1 of following.

var regex = new regex("(?<=^xyz\":).*?(?=,\"lmn$)"); var regex = new regex("^xyz\":(.*?),\"lmn$"); 

Comments

Popular posts from this blog

javascript - Count length of each class -

What design pattern is this code in Javascript? -

hadoop - Restrict secondarynamenode to be installed and run on any other node in the cluster -