Giter VIP home page Giter VIP logo

regexdict's Introduction

regexdict

PyPI version Build Status

Python dicts with sugar for regular expression searches over keys.

CJ Carey - perimosocordiae@github

Daryl Koopersmith - koop@github

Install

pip install Regex-Dict

Note that the PyPI package regexdict is not this package.

Create a new regexdict

The constructor has the same semantics as a regular Python dict.

from regexdict import regexdict

redict = regexdict({
	'applesauce': 10,
	'grapple': 7,
	'happily': 7
})

The resulting object behaves just like a normal dict, so long as you if you index it with non-slice keys.

Use a regex

Take advantage of the sugary slice syntax: redict[:pattern:(flags)]

redict[:'app':]      # Matches everything
redict[:'.app':]     # Matches 'grapple' and 'happily'
redict[:'apple':]    # Matches 'applesauce' and 'grapple'
redict[:'HAP':re.I]  # Matches 'happily' due to case insensitivity flag

Regex slice queries return a (possibly empty) iterator of (key, value) pairs.

Patterns may be strings or pre-compiled regex objects.

import re
app = re.compile('.app')

# Same result as redict[:'.app':]
redict[:app:]

The in operator

The in operator only recognizes compiled regexes and normal key values. No slice magic here, sorry!

app in redict  # ==> True

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.