我需要一个正则表达式来匹配伊朗ID序列号,这是一个非拉丁字母的第一个字母,在B或非拉丁字母的范围内。
我们需要验证的文本应采用以下格式:
الف/12 123456
ب/25 123456
ج/11 123456
ps:表达式以字母开头。 (StackOverflow不支持RTL)
我到目前为止的尝试:
(\bالف\b|[ب-ی]{1})[\/][0-9]{2}\s{1}[0-9]{6}
波斯语字符在阿拉伯语Unicode块中,范围从U + 0600到U + 06FF(在字符类中指定为\ u0600- \ u06FF)。
对于正则表达式以下的英文字母匹配:
/[0-9]{6}\s[0-9]{2}\/[a-z]{1}/
并且为了支持波斯语字母,只用a-z
替换\u0600-\u06FF
:
/[0-9]{6}\s[0-9]{2}\/[\u0600-\u06FF]{1}/
以下是我对伊朗人ID的非拉丁序列号的解决方案:
([\u0627][\u0644][\u0641]|[\u0628-\u06CC])[\/][0-9]{2}\s{1}[0-9]{6}