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:
According to the IEEE 802 specification, a MAC address has 6 groups of 2 hexadecimal digits separate...
How to capture the Sogou web spider entries from Web log file? Here are some Web log file entries: 1...
All credit card numbers issued by JCB have 3 sets of numbers: JCB cards start with 2131 have 15 digi...
How to capture the MSN (Microsoft Network) bot entries from Web log file? Here are some Web log file...
According to the IEEE 802 specification, a MAC address has 6 groups of 2 hexadecimal digits separate...