41 lines
630 B
Plaintext
41 lines
630 B
Plaintext
include::../description.adoc[]
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
[source,php]
|
|
----
|
|
/<.+?>/
|
|
/".*?"/
|
|
----
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
[source,php]
|
|
----
|
|
/<[^>]++>/
|
|
/"[^"]*+"/
|
|
----
|
|
|
|
or
|
|
|
|
|
|
[source,php]
|
|
----
|
|
/<[^>]+>/
|
|
/"[^"]*"/
|
|
----
|
|
|
|
|
|
== Exceptions
|
|
|
|
This rule only applies in cases where the reluctant quantifier can easily be replaced with a negated character class. That means the repetition has to be terminated by a single character or character class. Patterns such as the following, where the alternatives without reluctant quantifiers are more complicated, are therefore not subject to this rule:
|
|
|
|
|
|
----
|
|
/<!--.*?-->/
|
|
-/\*.*?\*/-
|
|
----
|
|
|