Skip to content
XulbuX edited this page Aug 25, 2025 · 1 revision

Regex

This class includes methods that dynamically generate templates for long, complex regex patterns.


quotes()

Generates a regex pattern, that matches pairs of quotes.
Params:no params
Returns: the generated regex pattern (Attention: Requires non-standard library regex, not standard library re!)

Usage:

The quotes() pattern includes two named groups quote and string, which can be used to extract the type of quote and the content inside the quotes, respectively.

Example:

import regex

pattern = Regex.quotes()
text = "Some text with 'single quotes' and \"double quotes\"."
match = regex.match(pattern, text):

For this example you would be able to refer to the matched groups as follows:

  • match.group(0) is 'single quotes'
  • match.group('quote') is '
  • match.group('string') is single quotes

brackets()

Generates a regex pattern, that matches everything inside pairs of brackets, including other nested brackets.
Params:

  • bracket1: str = "(" the opening bracket
  • bracket2: str = ")" the closing bracket
  • is_group: bool = False whether to make the bracket content a group or not
  • strip_spaces: bool = True whether to strip spaces from the content of the brackets or not
  • ignore_in_strings: bool = True whether to ignore the closing bracket if it inside quotes (strings) or not

Returns: the generated regex pattern (Attention: Requires non-standard library regex, not standard library re!)

Example:

Matching the default brackets (), including the brackets:

pattern = Regex.brackets()
text = "This (is a test) with (nested (brackets))."
match = regex.findall(pattern, text)

Here, match would be a list:

[
    "(is a test)",
    "(nested (brackets))",
    "(brackets)"
]

Matching custom brackets [] and treating the content as a group:

pattern = Regex.brackets(bracket1="[", bracket2="]", is_group=True)
text = "List items [item1] and [item2 [nested item]]."
match = regex.findall(pattern, text)

Here, match would be a list:

[
    "item1",
    "item2 [nested item]",
    "nested item"
]

Matching brackets while ignoring closing brackets inside strings:

pattern = Regex.brackets(ignore_in_strings=False)
text = 'func(param = "f(x)")'
match = regex.findall(pattern, text)

Here, match would be a list:

[
    "(param = \"f(x)\")"
]

Matching brackets without stripping spaces of the content:

pattern = Regex.brackets(strip_spaces=False)
text = "Text with ( spaced content ) and (regular content)."
match = regex.findall(pattern, text)

Here, match would be a list:

[
    "( spaced content )",
    "(regular content)"
]

outside_strings()

... WIP ...

★⠀Python Library by XulbuX⠀★

Project Links

Testing and Formatting

Classifiers

  • Intended Audience:
    • Developers
  • License:
    • OSI Approved
    • MIT License
  • Operating Systems:
    • Full Library: OS Independent
  • Supported Python Versions:
    • Python 3.13
    • Python 3.12
    • Python 3.11
    • Python 3.10
  • Topics:
    • Libraries
    • Python Modules
    • Software Development

The XulbuX Logo
Clone this wiki locally