Django Regex Field
Project description
[![Build Status](https://travis-ci.org/ambitioninc/django-regex-field.png)](https://travis-ci.org/ambitioninc/django-regex-field)
# django-regex-field
Stores regular expressions in Django models.
## A Brief Overview
The Django regex field app provides a custom field for a Django model that
stores a regex. This provides the ability to easily store regexs and access
them as compiled regular expressions from your models.
## Storing and Retrieving a Regex
A regular expression can be stored and retrieved in a Django model as follows:
```python
from django.db import models
from regex_field.fields import RegexField
class RegexModel(models.Model):
regex = RegexField(max_length=128)
model_obj = RegexModel.objects.create(regex='a')
# Access the regex as a compiled regular expression
>>> print(model_obj.regex.match('b'))
None
## Using regex flags
Flags can be provided in the field definition and will be applied when the regex is compiled. If you manually
compile a regex object with other flags and set it on the model, those flags will not be preserved. Only the flags
passed to the field's constructor are used.
```python
import re
from django.db import models
from regex_field.fields import RegexField
class RegexModel(models.Model):
regex = RegexField(max_length=128, re_flags=re.IGNORECASE)
model_obj = RegexModel.objects.create(regex='A')
# Case insensitive matching
>>> print(model_obj.regex.match('a') is not None)
True
```
# django-regex-field
Stores regular expressions in Django models.
## A Brief Overview
The Django regex field app provides a custom field for a Django model that
stores a regex. This provides the ability to easily store regexs and access
them as compiled regular expressions from your models.
## Storing and Retrieving a Regex
A regular expression can be stored and retrieved in a Django model as follows:
```python
from django.db import models
from regex_field.fields import RegexField
class RegexModel(models.Model):
regex = RegexField(max_length=128)
model_obj = RegexModel.objects.create(regex='a')
# Access the regex as a compiled regular expression
>>> print(model_obj.regex.match('b'))
None
## Using regex flags
Flags can be provided in the field definition and will be applied when the regex is compiled. If you manually
compile a regex object with other flags and set it on the model, those flags will not be preserved. Only the flags
passed to the field's constructor are used.
```python
import re
from django.db import models
from regex_field.fields import RegexField
class RegexModel(models.Model):
regex = RegexField(max_length=128, re_flags=re.IGNORECASE)
model_obj = RegexModel.objects.create(regex='A')
# Case insensitive matching
>>> print(model_obj.regex.match('a') is not None)
True
```
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
Close
Hashes for django_regex_field-1.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41d20244d3fc59b3c9a89730ceabd4c31f975e9cc80d818d14c0ddfc3e35cd44 |
|
MD5 | 187b2d24ec4955a7a4467d37e63f40df |
|
BLAKE2b-256 | 14b76ca0573ddb74a10ae05cd749833dc0d31164ef79d1dc6abf4b539b526426 |