19 lines
615 B
Plaintext
19 lines
615 B
Plaintext
If an alternative in a regular expression only matches things that are already matched by another alternative, that alternative is redundant and serves no purpose.
|
|
|
|
|
|
In the best case this means that the offending subpattern is merely redundant and should be removed. In the worst case it's a sign that this regex does not match what it was intended to match and should be reworked.
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
"[ab]|a" // The "|a" is redundant because "[ab]" already matches "a"
|
|
".*|a" // .* matches everything, so any other alternative is redundant
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
"[ab]"
|
|
".*"
|
|
----
|