Certain network filter patterns contain meaningless or redundant anchors that do not affect matching and should be removed. Two cases should be detected:
1. Useless filter start
Patterns starting with |*, e.g.:
This combination is semantically useless (| anchors to the start, * matches anything).
2. Useless filter end
Patterns ending with sequences like:
foo*^
foo*|
foo*^|
foo*^^|
*|
***^
These endings provide no meaningful restriction and are effectively redundant.
We should introduce a linter rule that:
- detects useless start/end constructs
- reports them as warnings,
- provides autofix by removing the redundant part of the pattern.
Certain network filter patterns contain meaningless or redundant anchors that do not affect matching and should be removed. Two cases should be detected:
1. Useless filter start
Patterns starting with
|*, e.g.:|*fooThis combination is semantically useless (
|anchors to the start,*matches anything).2. Useless filter end
Patterns ending with sequences like:
These endings provide no meaningful restriction and are effectively redundant.
We should introduce a linter rule that: