Other Resources:
Possessive (non-backtracking) quantified subpatterns ++ *+ {}+
What is possessive (non-backtracking) quantified subpatterns?
How to write a possessive quantified subpattern to match double-quoted strings like this: "He said: \“Hello!\â€"?
✍: FYIcenter.com
![]()
If you don't want the default backtracking behavior of quantified subpatterns, you can turn it off by adding the "possessive" quantifier '+' immediately after the quantifier. This will force the quantified subpattern to repeat itself as many time as allowed.
In most case, possessive (non-backtracking) quantified subpatterns are used to improve match performance by avoiding unnecessary backtracking. For example,
<[^>]*+> # [^>]*+ is a possessive quantified subpattern
non-'>' character subpattern can be repeated safely
without any backtracking because the next subpattern is >
The regular expression to match double-quoted strings efficiently is:
"(?:[^"\]++|\.)*+"
(?:...) - non-capture grouping
[^"\]++ - repeat [^"\] 1 or more times without backtracking
\. - any character escaped by \
(...)*+ - repeat (...) 0 or more times without backtracking
2013-01-26, 0👍, 0💬
Popular Posts:
How to write a regular expression to parse key-value entries from Windows .INI files? Here is an exa...
A free online regular expression test tool that allows to try you regular expression pattern and see...
All credit card numbers issued by JCB have 3 sets of numbers: JCB cards start with 2131 have 15 digi...
How to write a regular expression to validate GUID (Globally Unique IDentifier) or UUID (Universally...
How to write a regular expression to parse key-value entries from Windows .INI files? Here is an exa...