AnyLint icon indicating copy to clipboard operation
AnyLint copied to clipboard

Add option to exclude matches matching

Open Jeehut opened this issue 4 years ago • 0 comments

Problem Statement

Sometimes one needs a regular expression with exceptions. For example consider a regex that matches all literal numbers with 4 digits or more and reports a violation because no _ is used as a separator: (\d+)(\d{3}). This is great, but actually we want to exclude years from this, as 1981 is more readable than 1_981.

Suggested Solution

Add an option to exclude matches matching a given regex, for example by adding a new excludeMatchesMatching regex to checkFileContents.

Example Usage

With the regex being (\d+)(\d{3}), one could provide an excludeMatchesMatching of (1[4-9]|20)\d{2} to skip violations for numbers between 1400 & 2099 – this solves the problem.

Possible Involvement

  • I could help with implementation: Yes.
  • I could help with testing: Yes.

Jeehut avatar May 18 '20 15:05 Jeehut