c# - Parsing Error while using Regex -
let me explain actual problem facing.
when searchstring c+, setup of regular expression below works fine. when searchstring c++, throws me error stating --
parsing "c++" - nested quantifier +. can let me know how past error?
regexp = new regex(search_str.replace(" ", "|").trim(), regexoptions.ignorecase);
first of all, believe you'll learn more looking @ regex tutorials instead of asking here @ current stage.
to answer question, point out + quantifier in regexp, , means 1 or more times previous character (or group), c+ match @ least 1 c, meaning c match, cc match, ccc match , on. search c+ matching c!
c++ in regex give error, @ least in c#. won't other regex flavours, including jgsoft, java , pcre (++ possessive quantifier in flavours).
so, do? need escape + character search literal + character. 1 easy way add backslash before +: \+. way put + in square brackets.
this said, can use:
c\+\+ or...
c[+][+] to c++. now, since have twice same character, can use {n} (where n number of occurrences) denote number of occurrences of last character, whence:
c\+{2} or...
c[+]{2} which should give same results.
Comments
Post a Comment