我正在尝试修改此正则表达式,以便您获得更大或等于1或小于或等于10的数字。此正则表达式允许> = 0或< = 10。
我在表单上有一个文本字段,它取数字等于或大于0且小于11.我可以使用IF和逻辑运算符,TryParse,但我有点像正则表达式。
@"^\d$|^[1][0]$"
答案 0 :(得分:9)
答案 1 :(得分:5)
答案是这不是你应该使用正则表达式的东西。如果有的话,您可以使用正则表达式来解析数字,然后将它们与标准if (num >= 0)
等进行比较。
// EDIT: replaced regex with this:
int number;
if (Int32.TryParse(myString, out number)) {
// do something, like:
if (number >= 0 || number <= 10) {
}
}
答案 2 :(得分:4)
如果您使用的是WinForms,那么NumericUpDown
控制MinValue
等于1
且MaxValue
等于10将完成此任务。此外,您不需要解析 - 属性Value
将包含您的值(嗯,它将是decimal
类型 - 只需将其转换为int
)。
使用NumericUpDown
的另一个原因 - 它不允许输入除数字之外的任何内容,并且向上箭头对用户说 - 此控件正在等待您的数字。
答案 3 :(得分:3)
虽然我建议只使用逻辑运算符来检查int是否介于1和10之间,但这是一个有效的正则表达式:
^(10|[1-9])$
答案 4 :(得分:1)
你在这里:
^(1|2|3|4|5|6|7|8|9|10)$
非常明确,不能曲解,清楚如天。为我做一个更好的正则表达式。这里没有必要简短而神秘
答案 5 :(得分:1)
你可以试试这个:
^([1-9]|10)$
答案 6 :(得分:0)
使用正则表达式检查1到10之间的数字 -
<强> ^([1-9] | 10)$ 强>