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

如何编写正则表达式匹配CJK字符集的所有字符及数字(0-9),排除特殊字符?

正则表达式:匹配CJK字符与数字0-9,过滤特殊字符

嘿,这就给你一个精准的正则方案,刚好满足你匹配中文、日文、韩文(CJK)字符和数字0-9,同时排除各类特殊字符的需求:

推荐正则(支持Unicode属性转义的环境,比如Python、Java、现代JavaScript)

^[\p{Han}\p{Katakana}\p{Hiragana}\p{Hangul}0-9]+$

各部分解释

  • ^ 和 $:锚定整个字符串,确保从开头到结尾的所有字符都符合规则,避免出现"部分符合"的情况
  • \p{Han}:匹配所有中文字符(涵盖简体、繁体,甚至一些生僻字)
  • \p{Katakana}:匹配日文片假名
  • \p{Hiragana}:匹配日文平假名
  • \p{Hangul}:匹配韩文的谚文字符
  • 0-9:匹配阿拉伯数字0到9
  • +:要求至少有一个符合条件的字符,如果需要允许空字符串,可以把+换成*

兼容旧环境的替代方案(不支持Unicode属性转义时)

如果你的开发环境不支持\p{}这类Unicode属性(比如旧版JavaScript),可以用具体的Unicode范围来替代:

^[\u4E00-\u9FFF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF0-9]+$

对应的范围解释:

  • \u4E00-\u9FFF:中文字符的核心Unicode区间
  • \u3040-\u309F:日文平假名
  • \u30A0-\u30FF:日文片假名
  • \uAC00-\uD7AF:韩文谚文字符

测试示例

  • ✅ 匹配的内容:"你好123"、"こんにちは456"、"안녕하세요789"、"12345"
  • ❌ 不匹配的内容:"Hello!"、"你好@#"、"こんにちは?"、"안녕하세요^&*"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:17:53