\p{Math} 全量速查:Unicode 眼里的「数学用」码点
码点的档案 那页讲过:Math 是个二元属性,能跨着 General_Category 切——它不止 \p{Sm} 那 960 个符号,还收进一批 gc 是字母 / 标点 / 其他符号的「数学用」字。这页把它全列出来:用原生 /\p{Math}/u 逐码点实测,枚举出 Unicode 17.0
全部 2322 个 Math=Yes 的码点,按所属 Unicode block 分组。
注 · Unicode 给每个码点都登记了几十个属性(UAX #44),Math 是其中一个二元派生属性,等于 General_Category=Sm(数学符号,如 ∑ ≤)并上 Other_Math 补充清单(gc 不是 Sm、却确实是数学用字,如 ^、′、ℵ、𝐀)。JS
正则可直接查:/\p{Math}/u.test('∑')。一个反直觉处:常规希腊字母 π Σ α 是 Math=No,它们只是「字母」;但一小撮专给数学用的希腊变体符号 ϑ ϕ ϰ ϱ ϵ ϖ 反而 Math=Yes——所以下面的 Greek and Coptic 段里只有这些变体,没有 π。同族的二元属性还有
Alphabetic、White_Space(见 空白与换行)、Dash、Quotation_Mark、Emoji 等。
1 · 全量速查
搜索支持四种查法:码位 hex(如 2211 或 U+2211)、Unicode 名(如 summation、integral)、直接粘一个字符,或块名(如 operator、arrow)。
建议 · 和别的页串起来看:码点的档案 里有 Math 与 Sm 的逐格对照(为什么 𝑥 ℵ gc 是字母却勾了 Math、普通 x 反而不勾);那页末尾的全量速查列的是 346 个 Block(住址),和这页按身份圈出来的字符正好是「按住址查 vs 按身份查」两面。顺带一提,±
× ÷ 这类常用算符散落在 Latin-1、全角区、Small Form Variants 好几个 block 里——手写码位区间总会漏,按属性查一个不落。
2 · 参考文献
- Wikipedia. Mathematical operators and symbols in Unicode. 数学符号在 Unicode 里的全部块:Mathematical Operators、Supplemental、Letterlike Symbols、Mathematical Alphanumeric Symbols 等,与上方按 block 分组的官方归属对照。en.wikipedia.org
- Wikipedia. Glossary of mathematical symbols. 按数学含义查符号的词汇表:每个符号的读法、用法与所属分支——和本页「按 Unicode 属性查码点」互补,一个查身份一个查含义。en.wikipedia.org
-
Unicode. UAX #44: Unicode Character Database.
Math等二元派生属性的定义出处:哪些属性是「派生」的、Math由Sm并上Other_Math生成这条规则都在这份报告里。派生结果落在DerivedCoreProperties.txt,作为贡献属性的Other_Math清单本身则在PropList.txt。unicode.org