一个后背的正则表达式食谱
项目描述
# 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` 解析)
- 货币/货币(包括前导或尾随符号、数字和标点符号)
常用正则表达式的汇编。
这个包专门用于嵌入在 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
查看哈希)
内置分布
re101-0.4.0-py3-none-any.whl
(12.1 kB
查看哈希)
关
re101-0.4.0.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 53a133d21f37f1bf4b6218facce87f2f521a6450f9c7fd15dd7634874a011551 |
|
| MD5 | 26647de7f2b1a6b07ae9d49b893c9d85 |
|
| 布莱克2-256 | b0ee93caa54dedfd15fc013eecfefddf2fd6b28bb63be617a150fe5d875f48cb |
关
re101-0.4.0 -py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0616f3b40383d3386d25e58375cf6d86dd8592208e39ff8a744e3347f0733975 |
|
| MD5 | b9def1f42ffe15ddc53953f7db8ae167 |
|
| 布莱克2-256 | 2074250c7dbfef8f9614d7cfe7bd32566aa34b5ea03b856e5b4e78ca82dcee99 |