13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

们 建 议 你 把 你 的 程 序 规 范 化 为 正 常 C 模 式 (Normalization Form C), 因 为 这 种 形 式 是有 朝 一 日 可 能 是 <strong>Perl</strong> 的 缺 省 规 范 化 形 式 。 参 阅 www.unicode.org 获 取 最 新 的 有 关 规 范化 的 技 术 报 告 。• 正 则 表 达 式 现 在 匹 配 字 符 , 而 不 是 字 节 。 比 如 , 点 匹 配 一 个 字 符 而 不 是 一 个 字 节 。 如果 Unicode 协 会 准 备 批 准 Tengwar 语 言 , 那 么 ( 尽 管 这 样 的 字 符 在 UTF-8 里 用四 个 字 节 表 示 ), 但 下 面 的 东 西 是 匹 配 的 :"\N{TENGWAR LETTER SILME NUQUERNA}" =~ /^.$/\C 模 式 用 于 强 制 一 次 匹 配 是 对 一 个 字 节 的 (C 里 的 “char”, 因 此 是 \C)。 用\C 的 时 候 要 小 心 , 因 为 它 会 令 你 和 你 的 字 串 的 字 符 边 界 不 同 步 , 而 且 你 可 能 会收 到 “Malformed UTF-8 character” 错 误 。 你 不 能 在 方 括 号 里 使 用 \C, 因 为它 不 代 表 任 何 特 定 的 字 符 或 者 字 符 集 。• 在 正 则 表 达 式 里 的 字 符 表 匹 配 字 符 而 不 是 字 节 , 并 且 匹 配 那 些 在 Unicode 属 性数 据 库 里 声 明 的 字 符 属 性 。 因 此 可 以 把 \w 用 于 匹 配 一 个 象 形 文 字 :" 人 " =~ /\w/• 可 以 用 新 的 \p ( 匹 配 属 性 ) 和 \P( 不 匹 配 属 性 ) 构 造 , 把 命 名 Unicode 属 性 和块 范 围 用 做 字 符 表 。 比 如 ,\p{Lu} 匹 配 任 何 有 Unicode 大 写 字 符 属 性 的 字 符 , 而\p{M} 匹 配 任 何 标 记 字 符 。 但 字 母 属 性 可 以 忽 略 花 括 号 , 因 此 标 记 字 符 也 可 以 用 \pM匹 配 。 还 有 许 多 预 定 义 的 字 符 表 可 以 用 , 比 如 \p{IsMirrored} 和 \p{InTibetan}:"\N{greek:Iota}" =~ /\p{Lu}/你 还 可 以 在 放 括 号 字 符 表 里 使 用 \p 和 \P。( 在 版 本 5.6 的 <strong>Perl</strong> 里 , 你 需 要 使 用 useutf8 才 能 令 字 符 属 性 正 确 工 作 。 不 过 这 个 限 制 在 将 来 会 消 失 。) 参 阅 第 五 章 , 模 式 匹 配 ,获 取 匹 配 Unicode 属 性 的 细 节 。• 特 殊 的 模 式 \X 匹 配 任 何 扩 展 的 Unicode 序 列 (Unicode 标 准 中 的 “ 组 合 字 符 序列 ”), 这 时 候 , 第 一 个 字 符 是 基 础 字 符 , 而 随 后 的 字 符 是 标 记 字 符 , 这 些 标 记 字 符 附加 在 基 础 字 符 上 。 它 等 效 于 (?:\PM\pM*):405

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!