Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 如何建立印度尼西亚电话号码正则表达式_C#_Regex - Fatal编程技术网

C# 如何建立印度尼西亚电话号码正则表达式

C# 如何建立印度尼西亚电话号码正则表达式,c#,regex,C#,Regex,这些是印度尼西亚的一些电话号码 08xxxxxxxxx(由最少11个字符组成) 08XXXXXXXXXX(始终以08开头) 我发现这个很有用 Regex regex = new Regex(@"08[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"); 但是,如果我把它们改成下面的正则表达式,它只支持12个字符 Regex regex = new Regex(@"08[0-9][0-9][0-9][0-9][0-

这些是印度尼西亚的一些电话号码

08xxxxxxxxx(由最少11个字符组成)

08XXXXXXXXXX(始终以08开头)

我发现这个很有用

Regex regex = new Regex(@"08[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]");
但是,如果我把它们改成下面的正则表达式,它只支持12个字符

Regex regex = new Regex(@"08[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]");
它只支持11个字符,如何使用于验证的正则表达式以
08
开头,最小长度为11

08\d{9,10}
翻译成“从08开始”;最小11位,最大12位


编辑:计数。

这个图案怎么样

^08\d{9,10}$
这将检查11到12个字符,包括
08

^08[0-9]{9,}$
{9,}
表示“至少9”,但可能更多


我将其更改为9,以说明两个前导数字(总计11)。

我将添加更完整的版本,它们在这里(带数字分组)

它将接受这种格式

(0811)123 123

[62]8121234567

0812345 6789

+62856123456789

0878-123-123-123

[+62823]1234-56789
-->我相信这是写作时最长的电话号码

((\+62 8\d{2}([ -])|08\d{2}([ -]?)|\+628\d{2})\d{4}(\3\4)\d{2,5})
这将接受最常用的样式,如
08xx xxxx xxxx

08xxxxxxxxxx

08xx xxxx xxxx

+628xxxxxxxxx

+62 8xx xxxx xxxx

+62 8xx xxxx xxxx

此外,这将检查11-13个长数字

抱歉语法错误,不过将来regexpal.com会很有用。让您测试正则表达式,并提供快速参考指南。对不起,我以前从未听过regexpal.com:(谢谢!:)@Cignitor您是指11-12个numers,或者至少11个或更多?@coderofhoron至少包含11个字符,也就是说,may包含20个或更多字符:)哇!为什么会有这么多选票?这转换为包含一个以08开头的字符串。另外,如果
^
在开头,最小长度应该是13。在附加注释中,它可能应该是:08\d{9,10}或08\d{9,}作者不清楚是否需要最大12,而且,作者没有说明这是在一行的开头,所以没有^或者如果它是行的结尾,所以没有$。开头不应该有一个
^
,结尾不应该有一个
$
。但是,正在工作的不包含begin/end,因此添加^and/or$将是一个不同的检查,与给出的工作示例不同。因此,如果当前的数字嵌入到一句话“Frank的数字是08123456789”,那么另一个“^”不会找到它,但作者的例子会找到它。@JohnS。那么,它至少应该从11改为9吗?请记住,
08
的前缀是总数的一部分。这不是op想要的。应该是
{9,}
@Some1.Kill.the.DJ,这样就允许使用此模式了<代码>081234567891234125?@JW。他从来没有说过max limitTrue,有人应该问他是什么意思。正则表达式仍然接受值“08123ASD”。它假设只接受最少11个字符的数字,只需更改为
^08[0-9]{9,}$
。C#可能也有一个“匹配整个表达式”方法(Java有),但我不确定好的,你能把正则表达式改成
^08[0-9]{9,}$
吗?所以像我这样的印尼人很容易就能找到答案:)
((\+62 8\d{2}([ -])|08\d{2}([ -]?)|\+628\d{2})\d{4}(\3\4)\d{2,5})