CodeQL library for Ruby
codeql/ruby-all 3.0.1-dev (changelog, source)
Search

Module Impl

An implementation that statisfies the RegexTreeView signature.

Import path

import codeql.ruby.regexp.RegExpTreeView

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. Not currently implemented, 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 Ruby.

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 Ruby.

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.

RegExpNamedCharacterProperty

A named character property. For example, the POSIX bracket expression [[:digit:]].

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.