Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fre

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fre

Function Regular Expression

  • 0.0.3
  • PyPI
  • Socket score

Maintainers
1

Functionnal Regular Expression : fre

fre permet d'utiliser les expressions régulières directement en python sans passer par les strings.

Motivation

Utiliser les expressions régulières fait partie des choses basiques en ingéniérie logicielle et la plupart du temps cela se fait au travers de strings qui sont parsées puis utilisées pour effectuer le matching avec d'autres chaines.

C'est pourquoi il y a fre qui permet de coder les expressions régulières directement en python sans phase de précompilation. On a donc un gain de performance à l'exécution.

Features

fre permet d'écrire les expressions régulières directement en python, soit de manière purement fonctionnelle, soit avec des opérateurs.

Un exemple fonctionnel
from fre.fnregex import charinterval, char

def match_lower(c: chr) -> bool:
    lower = charinterval(char('a'), char('z')) # utilisation de fonctions
    return lower(c).matched()
Le même avec les opérateurs
from fre.opregex import a, z

def match_lower(c: chr) -> bool:
    lower = a - z # utilisation de l'opérateur d'interval
    return lower(c).matched()

fre expose deux fonctions principales :

def match(fnrx: FnRegex, inp: str) -> MatchResult:
    ...
def fullmatch(fnrx: FnRegex, inp: str) -> FullMatchResult:
    ...

Ces deux fonctions prennent en premier paramètre une FnRegex construite soit de manière fonctionnelle soit avec les opérateurs et en second paramètre la string dont on veut savoir si la valeur correspond ou pas avec l'expression régulière.

fullmatch au contraire de match demande à ce que la totalité de la string soit en correspondance avec l'expression régulière. Alors que match elle ne demande que le début soit correspondant.

Installation

Pypi
pip install fre

Contribution

Licence

fre est sous licence MIT

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc