Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于伊朗ID序列号的正则表达式_C#_Regex_Html_Validation - Fatal编程技术网

C# 用于伊朗ID序列号的正则表达式

C# 用于伊朗ID序列号的正则表达式,c#,regex,html,validation,C#,Regex,Html,Validation,我需要一个正则表达式来匹配伊朗ID序列号,它的第一个字符是一个非拉丁字母,范围是-或一个非拉丁单词 我们需要验证的文本应采用如下格式: الف/12 123456 ب/25 123456 ج/11 123456 附言:这些表达以字母开头。StackOverflow不支持RTL 我迄今为止的努力: (\bالف\b|[ب-ی]{1})[\/][0-9]{2}\s{1}[0-9]{6} 波斯语字符位于阿拉伯文Unicode块中,其范围从U+0600到U+06FF,在字符类中指定为\u0600-

我需要一个正则表达式来匹配伊朗ID序列号,它的第一个字符是一个非拉丁字母,范围是-或一个非拉丁单词

我们需要验证的文本应采用如下格式:

الف/12 123456
ب/25 123456
ج/11 123456
附言:这些表达以字母开头。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:


以下是我针对伊朗人ID的非拉丁序列号的解决方案:

([\u0627][\u0644][\u0641]|[\u0628-\u06CC])[\/][0-9]{2}\s{1}[0-9]{6}

你能展示一下目前为止你有什么,以及它如何不符合你的要求吗?A是必须的,还有一些有效和无效的条目。@PJProudhon\bا1604;ف\b|[bب-ی]{1}[\/][0-9]{2}\s{1}[0-9]{6}我不确定您想如何匹配非拉丁字母。你打算做一个匹配所有拉丁字母的正则表达式吗?。如果是这样,正则表达式会有点大,会是\d{6}\d{2}/[^所有的拉丁字符]。IMHO更容易匹配您想要的字符,而.net正则表达式中有一个特定的RTL选项。这将是有益的。考虑编辑你的问题,并添加一个完整的不到序号,但是,零是不允许的。这是一个错误:[\U060-\U06FF] { 1 }应该是[\U0600 -\U06FF] +请考虑以字母开头的字符串number@PayamKhaninejad考虑以字母而不是数字开头的字符串。嗯,正则表达式与你所说的匹配,考虑用更多的例子来改进你的问题。您可以删除仅围绕一个字符和量词{1}的不必要的字符类符号。@PJProudhon已修复
([\u0627][\u0644][\u0641]|[\u0628-\u06CC])[\/][0-9]{2}\s{1}[0-9]{6}