Easily build Enum-like regular expression patterns
Project description
renum
Regex Enum
A utility class for generating Enum-like regular expression patterns.
Installing
python3 -m pip install -U renum
Development version:
python3 -m pip install -U https://github.com/Zephyrkul/renum/archive/master.zip#egg=renum
Support
If you need help with using renum, find a bug, or have a feature request, feel free to file an issue.
Examples
Parsing from standard input:
import regex
from renum import renum
class Actions(renum, flags=regex.IGNORECASE):
GO = r"go (?P<direction>north|south|east|west)"
EXAMINE = r"examine (?P<item>[\w\s]+)"
OPEN = r"open (?P<object>door|chest)"
if __name__ == "__main__":
while True:
line = input()
if not line:
break
action = Actions.match(line) # The renum class acts like a Pattern...
if action is Actions.GO:
print("You went %s" % action.group("direction")) # and each entry acts like a Match
elif action is Actions.EXAMINE:
print("You take a closer look at %s. Looks grungy." % action.group("item"))
elif action is Actions.OPEN:
print("You tried to open the %s, but it was locked." % action.group("object"))
else:
print("Unknown action: %s" % line)
Troubleshooting a misbehaving renum:
>>> import regex
>>> from renum import renum
>>>
>>> class Bad(renum, flags=regex.IGNORECASE | regex.DEBUG):
... GOOD = r"no (?:issues|problems) here"
... BAD = r"whoops,\s(?P<missed something)"
...
regex.error: bad character in group name at position 29 in BAD
whoops,\s(?P<missed something)
^
Requirements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file renum-0.0.1b1.tar.gz.
File metadata
- Download URL: renum-0.0.1b1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30c367de3f95f079210508d497b5224002337422ddb43ae4dd83a199b3c87df7
|
|
| MD5 |
274df999631275cd411064a965a98b2a
|
|
| BLAKE2b-256 |
c0af6808c4b073bcef563169ab389a1641ef87f10672bacc0663793bd98e80af
|
File details
Details for the file renum-0.0.1b1-py3-none-any.whl.
File metadata
- Download URL: renum-0.0.1b1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8610e2c1cecfc39cce56a58216a2fecf9c6d369dfe5addec8773ca9fac4e18b
|
|
| MD5 |
92ff0db9d4a2df864691e514ee0712c6
|
|
| BLAKE2b-256 |
d934390007ac148c9df3c63cb27351dad5a3b20f687b41aa448c03957c5bc5e6
|