Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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# RegEx获取错误消息_C#_Regex - Fatal编程技术网

C# RegEx获取错误消息

C# RegEx获取错误消息,c#,regex,C#,Regex,我是RegEx的新手,我想知道是否有一种方法可以向用户显示错误消息,比如他/她在使用RegEx时做错了什么。是否有一些算术正则表达式?用户输入一个字符串,我将其与我的正则表达式模式匹配,如果不匹配,我希望显示错误 假设我有这样一个表达式^[0-9]{0,8}$。就我所理解的表达式而言,我告诉您匹配数字长度小于或等于8的数字。现在的问题是,用户可能输入了一个字母,或者他/她输入了超过8位数字 我可以从正则表达式中以某种方式获得错误消息吗?或者我必须为每个情况编写自己的消息吗?如果希望消息具有用户友

我是RegEx的新手,我想知道是否有一种方法可以向用户显示错误消息,比如他/她在使用RegEx时做错了什么。是否有一些算术正则表达式?用户输入一个字符串,我将其与我的正则表达式模式匹配,如果不匹配,我希望显示错误

假设我有这样一个表达式
^[0-9]{0,8}$
。就我所理解的表达式而言,我告诉您匹配数字长度小于或等于8的数字。现在的问题是,用户可能输入了一个字母,或者他/她输入了超过8位数字


我可以从正则表达式中以某种方式获得错误消息吗?或者我必须为每个情况编写自己的消息吗?

如果希望消息具有用户友好性,则必须为每个正则表达式检查编写自己的消息

即使正则表达式可以指向输入中的特定字符,消息也会有点怪异,比如

Incorrect character at position 7 for expression ^[0-9]{0,8}$

一个更好的选择是在用户界面中使用屏蔽输入,这样用户除了数字之外不能输入任何内容。

这一点。对于regex,它永远不会说“你的第三个字符是‘a’,因此它不匹配它应该匹配的数字”,而是说“不,它不匹配我所拥有的。我不在乎它实际是什么,但它肯定不匹配”。你甚至必须编写自己的regex引擎来找出regex不匹配的确切原因,您必须预测所有可能的错误,并编写所有这些错误消息。不太可行。