Travis CI build status PyPI Package latest release PyPI Package monthly downloads

A simplified interface to Python's regular expression (re) string search. Eliminates steps and provides simpler access to results. As a bonus, also provides compatible way to access Unix glob searches.


Python regular expressions are powerful, but the language's lack of an en passant (in passing) assignment requires a preparatory motion and then a test:

import re

match = re.search(pattern, some_string)
if match:
    print match.group(1)

With simplere, you can do it in fewer steps:

from simplere import *

if match / re.search(pattern, some_string):
    print match[1]

That's particularly valuable in complex search-and-manipulate code that requires multiple levels of searching along with pre-conditions, error checking, and post-match cleanup, formatting, and actions.

As a bonus, simplere also provides simple glob access.:

if 'globtastic' in Glob('glob*'):
    print "Yes! It is!"
    raise ValueError('OH YES IT IS!')

It can also conveniently match against multiple glob patterns, and/or do case-insensitive glob searches.

See Read the Docs for the full installation and usage documentation.


  • Version 1.2.7 starts automated measurement of test branch coverage. Inital runs show 100% branch coverage. Hooah!

  • Version 1.2.6 bumps test coverage to 100%.

  • Version 1.2.5 added automated measurement of test coverage. Line coverage started at 92%. Bumped to 97%.

  • Version 1.2 extends auto-imported symbols. Previously overly restrictive, requiring clients of module to needlessly (and contra docs) manually import re and construct the match object. Fixed. Bumped minor version number to reflect de facto API change.

  • Version 1.1 adds multi-pattern and case insensitive Glob subclass. Added wheel packaging. Rearranged and extended testing structure. Updated setup and docs.

  • See CHANGES.rst for a fuller historical view of changes.

  • Automated multi-version testing managed with pytest and tox. Continuous integration testing with Travis-CI. Packaging linting with pyroma.

    Successfully packaged for, and tested against, all late-model versions of Python: 2.6, 2.7, 3.2, 3.3, 3.4, and 3.5 pre-release (3.5.0b3) as well as PyPy 2.6.0 (based on 2.7.9) and PyPy3 2.4.0 (based on 3.2.5).

  • The author, Jonathan Eunice or @jeunice on Twitter welcomes your comments and suggestions.


To install or upgrade to the latest version:

pip install -U simplere

To easy_install under a specific Python version (3.3 in this example):

python3.3 -m easy_install --upgrade simplere

(You may need to prefix these with sudo to authorize installation. In environments without super-user privileges, you may want to use pip's --user option, to install only for a single user, rather than system-wide.)