我想检查输入字符串是否格式正确。 ^ [\ d - 。] + $表达式仅检查数字的存在和。(点)和 - (减号)但我也想检查它的序列。
假设我想用计算器。而且 - 只。如何获得在所有条件下满足的正则表达式。
Regex.IsMatch(input, @"^[\d-\.]+$")
//this expression works for below conditions only
if string v1="10-20-30"; // should return true
if string v1="10-20"; // should return true
if string v1="10.20"; // should return true
if string v1="10R20"; // should return false
if string v1="10@20"; // should return false
if string v1="10-20.30.40-50"; // should return true
if string v1="10"; // should return true
//above expression not works for below conditions
if string v1="10--20.30"; // should return false
if string v1="10-20-30.."; // should return false
if string v1="--10-20.30"; // should return false
if string v1="-10-20.30"; // should return false
if string v1="10-20.30."; // should return false
答案 0 :(得分:1)
类似
var pattern = @"^(\d+(-|\.))*\d+$";
应该为你做好工作。
这个正则表达式“说的”是:
注意:如果您需要将数字设为负数,则需要在正则表达式中的\ d +实例之前添加另一个条件减号或:
var pattern = @“^( - ?\ d +( - |。))* - ?\ d + $”;
此致