CodeQL library for Python
codeql/python-all 0.11.15-dev (changelog, source)
Search

Module Impl

An implementation that satisfies the RegexTreeView signature.

Import path

import semmle.python.regexp.RegexTreeView

Predicates

isDotAll

Holds if root has the s flag for multi-line matching.

isEscapeClass

Holds if term is an escape class representing e.g. \d. clazz is which character class it represents, e.g. “d” for \d.

isExcluded

Holds if the regular expression should not be considered.

isIgnoreCase

Holds if root has the i flag for case-insensitive matching.

isPossessive

Holds if term is a possessive quantifier. As python’s regexes do not support possessive quantifiers, this never holds, but is used by the shared library.

matchesAnyPrefix

Holds if the regex that term is part of is used in a way that ignores any leading prefix of the input it’s matched against. Not yet implemented for Python.

matchesAnySuffix

Holds if the regex that term is part of is used in a way that ignores any trailing suffix of the input it’s matched against. Not yet implemented for Python.

Classes

InfiniteRepetitionQuantifier

A regular expression term that permits unlimited repetitions.

RegExpAlt

An alternative term, that is, a term of the form a|b.

RegExpAnchor

A term that matches a specific position between characters in the string.

RegExpBackRef

A back reference, that is, a term of the form \i or \k<name> in a regular expression.

RegExpCaret

A caret assertion ^ or \A matching the beginning of a line.

RegExpCharacterClass

A character class in a regular expression.

RegExpCharacterClassEscape

A character class escape in a regular expression. That is, an escaped character that denotes multiple characters.

RegExpCharacterRange

A character range in a character class in a regular expression.

RegExpConstant

A constant regular expression term, that is, a regular expression term matching a single string. Currently, this will always be a single character.

RegExpDollar

A dollar assertion $ or \Z matching the end of a line.

RegExpDot

A dot regular expression.

RegExpEscape

An escaped regular expression term, that is, a regular expression term starting with a backslash, which is not a backreference.

RegExpGroup

A grouped regular expression.

RegExpLiteral

A string literal used as a regular expression

RegExpLookahead

A zero-width lookahead assertion.

RegExpLookbehind

A zero-width lookbehind assertion.

RegExpNegativeLookahead

A negative-lookahead assertion.

RegExpNegativeLookbehind

A negative-lookbehind assertion.

RegExpNonWordBoundary

A non-word boundary, that is, a regular expression term of the form \B.

RegExpNormalChar

A normal character in a regular expression, that is, a character without special meaning. This includes escaped characters.

RegExpOpt

An optional term.

RegExpParent

An element containing a regular expression term, that is, either a string literal (parsed as a regular expression) or another regular expression term.

RegExpPlus

A plus-quantified term.

RegExpPositiveLookahead

A positive-lookahead assertion.

RegExpPositiveLookbehind

A positive-lookbehind assertion.

RegExpQuantifier

A quantified regular expression term.

RegExpRange

A range-quantified term

RegExpSequence

A sequence term.

RegExpSpecialChar

A special character in a regular expression.

RegExpStar

A star-quantified term.

RegExpSubPattern

A zero-width lookahead or lookbehind assertion.

RegExpTerm

A regular expression term, that is, a syntactic part of a regular expression.

RegExpWordBoundary

A word boundary, that is, a regular expression term of the form \b.

RegExpZeroWidthMatch

A zero-width match, that is, either an empty group or an assertion.

Aliases

RegExpCharEscape

A character escape in a regular expression.

Top

An element containing a regular expression term, that is, either a string literal (parsed as a regular expression) or another regular expression term.