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

求验证希伯来数字系统中希伯来年份的正则表达式

验证合法希伯来年份编号的方案

系统名称明确

正确的正式名称是希伯来数字系统(Hebrew Numeral System),Gematria是基于该系统衍生出的数字命理应用,不属于系统本身的命名范畴。

核心规则梳理

希伯来年份的字母序列必须遵循以下规则:

  • 数字按从大到小的顺序排列:千位(1000+)→百位(100-900)→十位(10-90)→个位(1-9),大值字母不能出现在小值字母之后(比如代表400的ת不能放在代表90的צ之后)
  • 千位部分:由单个字母加撇号构成(א'=1000、ב'=2000…ט'=9000),为可选项
  • 百位部分:使用固定字母(ק=100、ר=200、ש=300、ת=400、ך=500、ם=600、ן=700、ף=800、ץ=900),为可选项
  • 十位部分:使用固定字母(י=10、כ=20、ל=30、מ=40、נ=50、ס=60、ע=70、פ=80、צ=90),为可选项
  • 个位部分:
    • 若存在十位,必须用引号"与十位分隔(如ט"ו=15)
    • 无十位时,直接用单个字母(如א=1)

修正后的正则表达式

以下正则可覆盖所有合法场景(含仅个位、仅十位、带千位/百位等情况):

^(?:[אבגדהוזחט]')?(?:[קראשתךםןףץ])?(?:[יכלמנסעפצ])?(?:"[אבגדהוזחט])?$

各部分解释

  • ^(?:[אבגדהוזחט]')?:匹配可选的千位部分,包含א'到ט'对应1000-9000
  • (?:[קראשתךםןףץ])?:匹配可选的百位部分,覆盖100-900的所有合法字母
  • (?:[יכלמנסעפצ])?:匹配可选的十位部分,覆盖10-90的所有合法字母
  • (?:"[אבגדהוזחט])?$:匹配可选的带引号个位部分,仅当存在十位时生效;无十位则该部分不出现

额外验证补充

正则仅能做格式与顺序的初步校验,若需更严谨的有效性验证,建议结合数值计算:

  • 确保每个量级(千/百/十/个)仅出现一次对应字母,无重复叠加
  • 验证终形字母(ך/ם/ן/ף/ץ)仅用于对应百位值,不被误用

示例

  • 有效年份:א(1)、י(10)、ט"ו(15)、קי(110)、א'ץ"ט(1909)
  • 无效年份:צת"ב(400的ת位于90的צ之后,顺序错误)、ק"א(百位加个位无需引号)、אב'(千位仅允许单个字母加撇号)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:53:22