You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

包含中文标点的全字符Unicode范围查询及Python正则匹配提取问题

包含标点的中文相关Unicode完整范围

你之前列的仅为CJK表意汉字的范围,中文常用标点属于独立的Unicode分区,完整的中文语境常用字符范围如下:

  • CJK表意汉字全区间:你列出的基本区、扩展A-D区、兼容区12个表意字符
  • CJK符号与标点区(包含直角引号、顿号、书名号、间隔号等):\u3000-\u303F
  • 全角字符区(包含全角问号\uFF1F、全角感叹号\uFF01、全角逗号、全角句号、全角括号等):\uFF00-\uFFEF
  • 可选(如有拼音/注音匹配需求):拼音/注音区间\u3100-\u312F
正则匹配失败问题修复

你原正则的捕获组字符集未包含全角问号、感叹号,因此匹配到汉字部分就中断,导致整体匹配失败。有两种修复方案:

方案1:原生re模块(无需第三方依赖)

把缺失的中文标点范围加入字符集即可,修正后代码如下:

import re
sample3 = "「在看星星嗎?閣下!」"
# 字符集加入全角标点、CJK符号区间
result = re.search(r"\u300c([\u4e00-\u9fff\u31c0-\u31ef\u31f0-\u31ff\u3200-\u32ff\u3300-\u33ff\u3400-\u4dbf\u4dc0-\u4dff\u3000-\u303f\uff00-\uffef]+)\u300d", sample3)
if result:
    print(result.group(1)) # 输出:在看星星嗎?閣下!

方案2:使用第三方regex库(写法更简洁)

如果允许安装依赖,可使用支持Unicode属性匹配的regex库,直接匹配中文汉字和标点,无需手动写范围:
首先执行安装命令:pip install regex
代码如下:

import regex
sample3 = "「在看星星嗎?閣下!」"
# \p{Han}匹配所有CJK汉字,\p{P}匹配所有标点
result = regex.search(r"\u300c([\p{Han}\p{P}]+)\u300d", sample3)
if result:
    print(result.group(1)) # 输出:在看星星嗎?閣下!

内容的提问来源于stack exchange,提问作者Raptor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:39:02