Skip to content

Bugs in the RegEx validity check #1544

@DandelionSprout

Description

@DandelionSprout

While looking into some AdGuard for Windows logs yesterday, I noticed it discards one of the entries in Nordic Filters with AGProxyFilter: Rule rejected by all filters: /://[a-z]{10,12}\.easy\.co(/|$)/, despite neither uBO or ABP complaining about that entry.

So I looked into what AdGuard for Windows' user filters considered to be a valid entry, and the results were a bit odd:

Works:

  • /:\/\/[a-z]{10,12}\.easy\.co($|\/)/
  • /(^|://)[a-z]{10,12}\.easy\.co//
  • /://[a-z]{10,12}\.easy\.co//

Rejected by AdGuard:

  • /://[a-z]{10,12}\.easy\.co(/|$)/
  • /:\/\/[a-z]{10,12}\.easy\.co(\/|$)/
  • /://[a-z]{10,12}\.easy\.co($|/)/

To the best of my knowledge, all 6 of these are valid RegExes when testing in Sublime Text, so I find it strange that AdGuard would be such finicky on (/|$) endings, when such endings are very useful in adblocker lists, as there's a 50:50 chance that a URL ends with or without a /.

The problem also affects /(://|^)[a-z0-9-]{30,}\..*\.elasticbeanstalk\.com(/|$)/ in Dandelion Sprout's Annoyances List.

Environment: AdGuard for Windows 7.7 nightly 27
OS: Windows 11 RTM x64

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions