Perl Unicode 烹饪秘籍:在正则表达式中匹配 Unicode 属性

℞ 25: 使用 \p\P 在正则表达式中匹配 Unicode 属性

每个 Unicode 代码点都有一个或多个属性,表示适用于该代码点的规则。Perl 的正则表达式引擎了解这些属性;使用 \p{} 元字符序列来匹配具有该属性的代码点及其逆,\P{} 来匹配缺少该属性的代码点。

每个属性都有一个简称和一个长名。例如,要匹配具有 Letter 属性的任何代码点,您可以使用 \p{Letter}\p{L}。同样,您可以使用 \P{Uppercase}\P{Upper}。请参阅 perldoc perlunicode 的“Unicode 字符属性”部分 以获取更详细的信息。

这些属性在正则表达式中有用的示例包括

 \pL, \pN, \pS, \pP, \pM, \pZ, \pC
 \p{Sk}, \p{Ps}, \p{Lt}
 \p{alpha}, \p{upper}, \p{lower}
 \p{Latin}, \p{Greek}
 \p{script=Latin}, \p{script=Greek}
 \p{East_Asian_Width=Wide}, \p{EA=W}
 \p{Line_Break=Hyphen}, \p{LB=HY}
 \p{Numeric_Value=4}, \p{NV=4}

上一页: ℞ 24: 在内置字符类中禁用 Unicode 意识

系列索引: 标准序言

下一页: ℞ 26: 自定义字符属性

标签

反馈

这篇文章有什么问题吗?请通过在 GitHub 上打开问题或拉取请求来帮助我们。