我是RegEx的新手,我想知道是否有办法向用户显示错误消息,例如他/她只是使用RegEx做错了。是否有一些hypotetical RegEx.GetErroMessage的事情?用户输入一个字符串,我将其与我的正则表达式匹配,如果没有匹配,我想显示错误。
假设我有这样的表达式^[0-9]{0,8}$
。到目前为止,我理解我所说的表达式匹配数字长度小于或等于8的数字。现在问题是用户可能输入了一个字母或他/她输入的数字超过8位数。
我可以从RegEx以某种方式获取错误消息,还是我必须为每个案例编写自己的错误消息?
答案 0 :(得分:1)
如果您希望消息对用户友好,则必须为每次RegEx检查编写自己的消息。
即使正则表达式可以指向输入中的特定字符,消息也可能是怪异的,比如
Incorrect character at position 7 for expression ^[0-9]{0,8}$
更好的选择是在UI中使用屏蔽输入,这样用户就无法输入任何内容,只能输入数字。