NSRegEx 扩展库 NSRegExNamedCaptureGroup

码农软件 · 软件分类 · 正则表达式工具 · 2019-10-08 23:28:51

软件介绍

这是什么

NSRegExNamedCaptureGroup 使用 Swift 语言开发,通过直观的编程接口为 Cocoa 开发者提供对 .NET 风格的正则表达式命名捕获分组(Named Capture Groups,以下简称 NCG)的支持。

几乎所有现代的正则表达式实现都支持索引捕获组(Numbered Capturing Groups)索引向后引用(backreferences)。但是带有大量这类捕获分组和向后引用的表达式会变得极难阅读与理解。所以很多编程语言的正则表达式实现(如 Python 的 re 模块,PHP 的 preg 引擎,以及 .NET 语言家族)都提供了带有自己风格的 NCG 的支持。通过使用 NCG,我们可以通过人类可读的(human-readable)的方式——而不是使用对计算机更友好的数字下标——来访问一段正则表达式匹配的结果。正则表达式可以变的更加可读,开发者也可以有效地避免错误。

但一直以来,macOS 和 iOS 开发中首选的正则表达式实现 NSRegularExpression 类却不支持 NCG。

根据 Apple 的开发文档,NSRegEx 类基于 ICU (International Components for Unicode) 的正则表达式实现:

The pattern syntax currently supported is that specified by ICU. The ICU regular expressions are described at http://userguide.icu-project.org/strings/regexp.

并且 ICU 官方声称 从 ICU 55 开始,已经开始支持 .NET 风格的 NCG:

(?...) Named capture group. The are literal - they appear in the pattern.

例如:

\b(?\d\d\d)-(?\d\d\d)-(?\d\d\d\d)\b

然而 Apple 自己的 NSRegEx 文档却并没有列出 NCG 的语法;NSRegEx 和 NSTextCheckingResult 也只提供索引捕获分组的编程接口: rangeAt(:_)

NSRegExNamedCaptureGroup 为使用 NSRegEx 的开发者提供了尽可能直观地方式来利用 NCG,使得你的正则表达式更加易于阅读与维护。更多详细介绍,请参考文档。

平台支持

  • macOS 10.10+ / iOS 8.0+ / tvOS 9.0+ / watchOS 2.0+

  • Xcode 8.1, 8.2, 8.3 and 9.0

  • Swift 3.0, 3.1, 3.2, and 4.0

本文地址:https://codercto.com/soft/d/16346.html

Python Cookbook 中文版,第 3 版

Python Cookbook 中文版,第 3 版

David M. Beazley、Brian K. Jones / 陈舸 / 人民邮电出版社 / 2015-5-1 / 108.00元

《Python Cookbook(第3版)中文版》介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及异常,C语言扩展等。 本书覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。......一起来看看 《Python Cookbook 中文版,第 3 版》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具