mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-11-10 13:32:24 +00:00
Merge pull request #236 from lafriks/feat/ignore_regex
Improve detection of unsupported regexp syntax
This commit is contained in:
commit
1723ec0c10
@ -160,11 +160,12 @@ func parseYaml(file string) (*Heuristics, error) {
|
|||||||
|
|
||||||
// isUnsupportedRegexpSyntax filters regexp syntax that is not supported by RE2.
|
// isUnsupportedRegexpSyntax filters regexp syntax that is not supported by RE2.
|
||||||
// In particular, we stumbled up on usage of next cases:
|
// In particular, we stumbled up on usage of next cases:
|
||||||
|
// - lookbehind & lookahead
|
||||||
// - named & numbered capturing group/after text matching
|
// - named & numbered capturing group/after text matching
|
||||||
// - backreference
|
// - backreference
|
||||||
// For referece on supported syntax see https://github.com/google/re2/wiki/Syntax
|
// For referece on supported syntax see https://github.com/google/re2/wiki/Syntax
|
||||||
func isUnsupportedRegexpSyntax(reg string) bool {
|
func isUnsupportedRegexpSyntax(reg string) bool {
|
||||||
return strings.Contains(reg, `(?<`) || strings.Contains(reg, `\1`) ||
|
return strings.Contains(reg, `(?<`) || strings.Contains(reg, `(?=`) || strings.Contains(reg, `\1`) ||
|
||||||
// See https://github.com/github/linguist/pull/4243#discussion_r246105067
|
// See https://github.com/github/linguist/pull/4243#discussion_r246105067
|
||||||
(strings.HasPrefix(reg, multilinePrefix+`/`) && strings.HasSuffix(reg, `/`))
|
(strings.HasPrefix(reg, multilinePrefix+`/`) && strings.HasSuffix(reg, `/`))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user