C# RegEx获取错误消息
我是RegEx的新手,我想知道是否有一种方法可以向用户显示错误消息,比如他/她在使用RegEx时做错了什么。是否有一些算术正则表达式?用户输入一个字符串,我将其与我的正则表达式模式匹配,如果不匹配,我希望显示错误 假设我有这样一个表达式C# RegEx获取错误消息,c#,regex,C#,Regex,我是RegEx的新手,我想知道是否有一种方法可以向用户显示错误消息,比如他/她在使用RegEx时做错了什么。是否有一些算术正则表达式?用户输入一个字符串,我将其与我的正则表达式模式匹配,如果不匹配,我希望显示错误 假设我有这样一个表达式^[0-9]{0,8}$。就我所理解的表达式而言,我告诉您匹配数字长度小于或等于8的数字。现在的问题是,用户可能输入了一个字母,或者他/她输入了超过8位数字 我可以从正则表达式中以某种方式获得错误消息吗?或者我必须为每个情况编写自己的消息吗?如果希望消息具有用户友
^[0-9]{0,8}$
。就我所理解的表达式而言,我告诉您匹配数字长度小于或等于8的数字。现在的问题是,用户可能输入了一个字母,或者他/她输入了超过8位数字
我可以从正则表达式中以某种方式获得错误消息吗?或者我必须为每个情况编写自己的消息吗?如果希望消息具有用户友好性,则必须为每个正则表达式检查编写自己的消息 即使正则表达式可以指向输入中的特定字符,消息也会有点怪异,比如
Incorrect character at position 7 for expression ^[0-9]{0,8}$
一个更好的选择是在用户界面中使用屏蔽输入,这样用户除了数字之外不能输入任何内容。这一点。对于regex,它永远不会说“你的第三个字符是‘a’,因此它不匹配它应该匹配的数字”,而是说“不,它不匹配我所拥有的。我不在乎它实际是什么,但它肯定不匹配”。你甚至必须编写自己的regex引擎来找出regex不匹配的确切原因,您必须预测所有可能的错误,并编写所有这些错误消息。不太可行。