我的正则表达式在我的应用程序中运行良好,但它也匹配一个空字符串,即当输入为空时不会发生错误。如何修改此正则表达式使其不匹配空字符串?请注意,我不想更改此正则表达式的任何其他功能。
这是我正在使用的正则表达式:^([0-9\(\)\/\+ \-]*)$
我自己不太了解正则表达式,这就是我要问的原因。我一直在寻找答案,但找不到直接的答案。我最接近的是:除了 c# 中的空字符串之外的任何内容的正则表达式,但这对我来说真的不起作用..
我的正则表达式在我的应用程序中运行良好,但它也匹配一个空字符串,即当输入为空时不会发生错误。如何修改此正则表达式使其不匹配空字符串?请注意,我不想更改此正则表达式的任何其他功能。
这是我正在使用的正则表达式:^([0-9\(\)\/\+ \-]*)$
我自己不太了解正则表达式,这就是我要问的原因。我一直在寻找答案,但找不到直接的答案。我最接近的是:除了 c# 中的空字符串之外的任何内容的正则表达式,但这对我来说真的不起作用..
将“*”替换为“+”,因为“*”表示“0 次或多次出现”,而“+”表示“至少出现一次”
您可以使用+
或{min, max}
语法:
^[0-9\(\)\/\+ \-]{1,}$
或者
^[0-9\(\)\/\+ \-]+$
顺便说一句:这是学习正则表达式的好资源(而且很有趣):http ://regexone.com/
显然,您需要将 Replace 替换*
为+
, 因为+
匹配 1 个或多个字符。但是,在字符类中,您不会做所有逃避您正在做的事情。您的正则表达式可以简化为:
^([0-9()\/+ -]+)$