pregex.meta.essentials
This module contains various classes that can be used to match all sorts of commonly-search-for patterns.
Classes & methods
Below are listed all classes within pregex.meta.essentials
along with any possible methods they may possess.
- class pregex.meta.essentials.Date(formats: Optional[Union[str, list[str]]] = None, is_extensible: bool = False)[source]
Matches any date within a range of predefined formats.
- Parameters
formats (str | list[str]) –
Either a string or a list of strings through which it is determined what are the exact date formats that are to be considered possible matches. A valid date format can be either one of:
D<sep>M<sep>YM<sep>D<sep>YY<sep>M<sep>D
where:
<sep>: Either/or-D: Either one of the following:d: one-digit day of the month for days below 10, e.g. 2dd: two-digit day of the month, e.g. 02
M: Either one of the following:m: one-digit month for months below 10, e.g. 3mm: two-digit month, e.g. 03
Y: Either one of the following:yy: two-digit year, e.g. 21yyyy: four-digit year, e.g. 2021
For example,
dd/mm/yyyyis considered a valid date format whereasmm/yyyy/ddis not. Lastly, IfNoneis provided in place of this list, then all possible formats are considered. Defaults toNone.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentValueException – At least one of the provided arguments is not a valid date format.
- class pregex.meta.essentials.Decimal(start: int = 0, end: int = 2147483647, min_decimal: int = 1, max_decimal: Optional[int] = None, include_sign: bool = False, is_extensible: bool = False)[source]
Matches any decimal number within a specified range.
- Parameters
start (int) – The starting value of the integer part range. Defaults to
0.end (int) – The ending value of the integer part range. Defaults to
2147483647.min_decimal (int) – The minimum number of digits within the decimal part. Defaults to
1.max_decimal (int) – The maximum number of digits within the decimal part. Defaults to
None.include_sign (bool) – Determines whether to include any existing signs into the match. Defaults to
False.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either one of parameters
start,end,min_decimalormax_decimalis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than0.Parameter
starthas a greater value than that of parameterend.Parameter
min_decimalhas a value of less than1.Parameter
min_decimalhas a greater value than that of parametermax_decimal.
- Note
Be aware that parameter
include_signmight not only play a role in deciding the content of the matches, but their number as well. For example, settinginclude_signtoFalsewill result inIntegermatching both1.1and2.2in1.1+2.2, whereas setting it toTrueresults in just matching1.1. That is, because in caseinclude_signisTrue,+2.2is considered a decimal number as a whole, and as such, it cannot match when another digit, namely1, directly precedes it.Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.Email(capture_local_part: bool = False, capture_domain: bool = False, is_extensible: bool = False)[source]
Matches any email address.
- Parameters
capture_local_part (bool) – If set to
True, then the local-part of each email address match is separately captured as well. Defaults toFalse.capture_domain (bool) – If set to
True, then the domain name of each email address match is separately captured as well. Defaults toFalse.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Note
Not guaranteed to match every possible email address.
- class pregex.meta.essentials.HttpUrl(capture_domain: bool = False, is_extensible: bool = False)[source]
Matches any HTTP URL.
- Parameters
capture_domain (bool) – If set to
True, then the domain name of each URL match is separately captured as well. Defaults toFalse.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Note
Not guaranteed to match every possible HTTP URL.
- class pregex.meta.essentials.IPv4(is_extensible: bool = False)[source]
Matches any IPv4 Address.
- Parameters
is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- class pregex.meta.essentials.IPv6(is_extensible: bool = False)[source]
Matches any IPv6 Address.
- Parameters
is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- class pregex.meta.essentials.Integer(start: int = 0, end: int = 2147483647, include_sign: bool = False, is_extensible: bool = False)[source]
Matches any integer within a specified range.
- Parameters
start (int) – The starting value of the range. Defaults to
0.end (int) – The ending value of the range. Defaults to
2147483647.include_sign (bool) – Determines whether to include any existing signs into the match, or just ignore them. Defaults to
False.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either parameter
startor parameterendis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than zero.Parameter
starthas a greater value than that of parameterend.
- Note
Be aware that parameter
include_signmight not only play a role in deciding the content of the matches, but their number as well. For example, settinginclude_signtoFalsewill result inIntegermatching both1and2in1+2, whereas setting it toTrueresults in just matching1. That is, because in caseinclude_signisTrue,+2is considered an integer as a whole, and as such, it cannot match when another digit, namely1, directly precedes it.Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.NegativeDecimal(start: int = 0, end: int = 2147483647, min_decimal: int = 1, max_decimal: Optional[int] = None, is_extensible: bool = False)[source]
Matches any negative decimal number within a specified range.
- Parameters
start (int) – The starting value of the integer part range. Defaults to
0.end (int) – The ending value of the integer part range. Defaults to
2147483647.min_decimal (int) – The minimum number of digits within the decimal part. Defaults to
1.max_decimal (int) – The maximum number of digits within the decimal part. Defaults to
None.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either one of parameters
start,end,min_decimalormax_decimalis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than0.Parameter
starthas a greater value than that of parameterend.Parameter
min_decimalhas a value of less than1.Parameter
min_decimalhas a greater value than that of parametermax_decimal.
- Note
Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.NegativeInteger(start: int = 0, end: int = 2147483647, is_extensible: bool = False)[source]
Matches any strictly negative integer within a specified range.
- Parameters
start (int) – The starting value of the range. Defaults to
0.end (int) – The ending value of the range. Defaults to
2147483647.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either parameter
startor parameterendis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than zero.Parameter
starthas a greater value than that of parameterend.
- Note
Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.NonWhitespace(is_optional: bool = False)[source]
Matches any string of text of arbitrary length that does not contain any whitespace characters.
- Parameters
is_optional (bool) – Determines whether this pattern is optional or not. Defaults to
False.
- class pregex.meta.essentials.Numeral(base: int = 10, n_min: int = 1, n_max: Optional[int] = None, is_extensible: bool = False)[source]
Matches any numeral.
- Parameters
base (int) – An integer through which the numeral system is specified. Defaults to
10.n_min (int) – The minimum amount of digits the number may contain. Defaults to
1.n_max (int) – The maximum amount of digits the number may contain. Defaults to
None.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException –
Parameter
baseorn_minis not an integer.Parameter
n_maxis neither an integer norNone.
InvalidArgumentValueException –
Parameter
basehas a value of less than2or greater than16.Either parameter
n_minorn_maxhas a value of less than zero.Parameter
n_minhas a greater value than that of parametern_max.
- Note
Setting
n_maxequal toNoneindicates that there is no upper limit to the number of digits.
- class pregex.meta.essentials.PositiveDecimal(start: int = 0, end: int = 2147483647, min_decimal: int = 1, max_decimal: Optional[int] = None, is_extensible: bool = False)[source]
Matches any strictly positive decimal number within a specified range.
- Parameters
start (int) – The starting value of the integer part range. Defaults to
0.end (int) – The ending value of the integer part range. Defaults to
2147483647.min_decimal (int) – The minimum number of digits within the decimal part. Defaults to
1.max_decimal (int) – The maximum number of digits within the decimal part. Defaults to
None.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either one of parameters
start,end,min_decimalormax_decimalis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than0.Parameter
starthas a greater value than that of parameterend.Parameter
min_decimalhas a value of less than1.Parameter
min_decimalhas a greater value than that of parametermax_decimal.
- Note
Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.PositiveInteger(start: int = 0, end: int = 2147483647, is_extensible: bool = False)[source]
Matches any strictly positive integer within a specified range.
- Parameters
start (int) – The starting value of the range. Defaults to
0.end (int) – The ending value of the range. Defaults to
2147483647.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either parameter
startor parameterendis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than zero.Parameter
starthas a greater value than that of parameterend.
- Note
Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.Text(is_optional: bool = False)[source]
Matches any string of text of arbitrary length.
- Parameters
is_optional (bool) – Determines whether this pattern is optional or not. Defaults to
False.
- class pregex.meta.essentials.UnsignedDecimal(start: int = 0, end: int = 2147483647, min_decimal: int = 1, max_decimal: Optional[int] = None, is_extensible: bool = False)[source]
Matches any decimal number within a specified range, provided that it is not preceded by a sign.
- Parameters
start (int) – The starting value of the integer part range. Defaults to
0.end (int) – The ending value of the integer part range. Defaults to
2147483647.min_decimal (int) – The minimum number of decimal places. Defaults to
1.max_decimal (int) – The maximum number of decimal places. Defaults to
None.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either one of parameters
start,end,min_decimalormax_decimalis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than0.Parameter
starthas a greater value than that of parameterend.Parameter
min_decimalhas a value of less than1.Parameter
min_decimalhas a greater value than that of parametermax_decimal.
- Note
Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.UnsignedInteger(start: int = 0, end: int = 2147483647, is_extensible: bool = False)[source]
Matches any integer within a specified range, provided that it is not preceded by a sign.
- Parameters
start (int) – The starting value of the range. Defaults to
0.end (int) – The ending value of the range. Defaults to
2147483647.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – Either parameter
startor parameterendis not an integer.InvalidArgumentValueException –
Parameter
starthas a value of less than zero.Parameter
starthas a greater value than that of parameterend.
- Note
Even by setting parameter
is_extensibletoTrue, there still persists an assertion that is essential to the pattern, which dictates that this pattern must not be preceded by any numeric characters. For that reason, one should avoid concatenating an instance of this class to the right of a pattern that ends in such a character.
- class pregex.meta.essentials.Whitespace(is_optional: bool = False)[source]
Matches any string of whitespace characters of arbitrary length.
- Parameters
is_optional (bool) – Determines whether this pattern is optional or not. Defaults to
False.
- class pregex.meta.essentials.Word(min_chars: int = 1, max_chars: Optional[int] = None, is_global: bool = True, is_extensible: bool = False)[source]
Matches any word.
- Parameters
min_chars (int) – The minimum amount of characters a word must have in order to be considered a match. Defaults to
1.max_chars (int) – The maximum amount of characters a word must have in order to be considered a match. If set to “None”, then it is considered that there is no upper limit to the amount of characters a word can have. Defaults to
None.is_global – Determines whether to include foreign characters. Defaults to
True.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException –
Parameter
min_charsis not an integer.Parameter
max_charsis neither an integer norNone.
InvalidArgumentValueException –
Either parameter
min_charsormax_charshas a value of less than1.Parameter
min_charshas a greater value than that of parametermax_chars.
- class pregex.meta.essentials.WordContains(infix: Union[str, list[str]], is_global: bool = True, is_extensible: bool = False)[source]
Matches any word that contains either one of the provided strings.
- Parameters
infix (str | list[str]) – Either a string or a list of strings at least one of which a word must contain in order to be considered a match.
is_global – Determines whether to include foreign characters. Defaults to
True.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – At least one of the provided infixes is not a string.
- class pregex.meta.essentials.WordEndsWith(suffix: Union[str, list[str]], is_global: bool = True, is_extensible: bool = False)[source]
Matches any word that ends with either one of the provided strings.
- Parameters
suffix (str | list[str]) – Either a string or a list of strings with any of which a word must end in order to be considered a match.
is_global – Determines whether to include foreign characters. Defaults to
True.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – At least one of the provided suffixes is not a string.
- class pregex.meta.essentials.WordStartsWith(prefix: Union[str, list[str]], is_global: bool = True, is_extensible: bool = False)[source]
Matches any word that starts with either one of the provided strings.
- Parameters
prefix (str | list[str]) – Either a string or a list of strings with any of which a word must start in order to be considered a match.
is_global – Determines whether to include foreign characters. Defaults to
True.is_extensible (bool) – If
True, then no additional assertions are imposed upon the underlying pattern, other than any necessary ones, which in turn prevents certain complications from arising whenever it serves as a building block to a larger pattern. As a general rule of thumb, set this parameter toTrueif you wish to extend the resulting instance’s underlying pattern, or toFalseif you are only using it for matching purposes. Defaults toFalse.
- Raises
InvalidArgumentTypeException – At least one of the provided prefixes is not a string.