Skip to main content

一个后背的正则表达式食谱

项目描述

# re101

常用正则表达式的汇编。

这个包专门用于嵌入在 Python 中并使用 Python 的 [`re`](https://docs.python.org/3/library/re.html) 模块编译的正则表达式。

----

## Introduction

所有可导入的对象都是编译的正则表达式。例如,`US_PHONENUM` 匹配遵循北美号码计划 (NANP) 格式的序列。用简单的英语来说,这就是“北美电话号码”:

```python
>>> from re101 import US_PHONENUM
>>> text = """
... Ross McFluff: +1 (834) 345.1254 155榆树街
... Ronald Heathmore:892-345-3428 436 Finley Avenue
... Frank Burger:541-7625 662 South Dogwood Way
... Heather Albrecht:5483264584 919 Park Place"""

>>> US_PHONENUM.findall(text)
['+1 (834) 345.1254', '892-345- 3428', '541-7625', '5483264584']
```

目前,该软件包支持与以下相关的正则表达式:

- 电子邮件地址
- 空格
- 单词/令牌
- 电话号码
- IP 地址
- URL
- 整数、小数、数字
- 地理信息
- 个人身份信息

## 命名约定

包导出的对象可以是 `UPPERCASE`、`CamelCase` 或 `lower_case`:

- `UPPERCASE`:这些是编译后的正则表达式,类型为`re.Pattern`,是`re.compile()`的结果。
- `CamelCase`:这些类的 `__new__()` 方法返回编译后的正则表达式,但需要一些额外的参数来为编译结果添加可选性。例如,“Number”类允许您允许或禁止前导零和逗号。
- `lower_case`:这些是围绕包的正则表达式常量构建的传统函数。它们的调用语法或结果类型没有任何一致性。

## 免责声明

小心使用这些正则表达式。它们中的任何一个都不太可能覆盖它们打算覆盖的 100.00% 的案例。它们旨在处理“99.x%”的案例。对于所有正则表达式,必须做出平衡:覆盖增量 0.1% 的情况通常需要大量边际工作和代码。

如果您确实发现了严重的错误或遗漏,请考虑提交问题或拉取请求。请参阅“贡献”文件。

除非另有说明,否则请假设这些表达方式是“以美国为中心”。例如,`zipcodes` 表达式仅查找 XXXXX 或 XXXXX-XXXX 邮政编码。

## 来源

引用包括从单一来源复制的“独特”正则表达式。此处可能不会引用可以从多个公共来源以类似形式找到的更多“通用”正则表达式。

1. Goyvaerts、Jan 和 Steven Levithan。正则表达式食谱,第 2 版。塞巴斯托波尔:O'Reilly,2012 年
。2. Friedl,Jeffrey。掌握正则表达式,第 3 版。Sebastopol:O'Reilly,
2009。3. Goyvaerts,一月。正则表达式:完整教程。https://www.regular-expressions.info/。
4. Python.org 文档:`re` 模块。https://docs.python.org/3/library/re.html
5. Kuchling,上午“正则表达式 HOWTO”。https://docs.python.org/3/howto/regex.html
6. Python.org 文档:`ipaddress` 模块。版权所有 2007 Google Inc. 根据贡献者协议授权给 PSF。https://docs.python.org/3/library/ipaddress.html
7. nerdsrescueme/regex.txt。https://gist.github.com/nerdsrescueme/1237767

## To-Do List

这些模式当前未实现:

- IPv6 地址 (RFC 4291)
- 日期和时间(ISO-8601 和更非正式的,例如那些可以由 Python 的 `dateutil` 解析)
- 货币/货币(包括前导或尾随符号、数字和标点符号)


项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

re101-0.4.0.tar.gz (11.1 kB 查看哈希

已上传 source

内置分布

re101-0.4.0-py3-none-any.whl (12.1 kB 查看哈希

已上传 py3