需要基本的正则表达式帮助
Basic Regex help needed
我真的是编程新手,直到现在才接触过正则表达式,我希望将文本框输入限制为双 class 值,但遇到了这个:
`Regex regex = new Regex("[^0-9-]+");
TextP1_TextChanged = regex.IsMatch(TextP1.Text);`
我想在我的程序中实施,并假设它发生在 TextChanged
事件下,但我实际上不具备实施正则表达式的知识,所以我只是在寻求帮助。
更新
我已经实现了 TryParse
,但我希望接受前面带有或不带有 0
的十进制数字,即 0.234
或 .234
。我的新代码是这样的:
private void TextP1_TextChanged(object sender, EventArgs e)
{
bool isDouble = Double.TryParse(TextP1.Text, out P1);
if(isDouble == false)
{
MessageBox.Show("Text box only accepts positive number values", "Text entered into P1 is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
您可以使用这个正则表达式 [0-9]*\.[0-9]*
。 * 表示 0-9 可以出现 0 到 x 次。
您可以使用 regexr 快速测试正则表达式。
我真的是编程新手,直到现在才接触过正则表达式,我希望将文本框输入限制为双 class 值,但遇到了这个:
`Regex regex = new Regex("[^0-9-]+");
TextP1_TextChanged = regex.IsMatch(TextP1.Text);`
我想在我的程序中实施,并假设它发生在 TextChanged
事件下,但我实际上不具备实施正则表达式的知识,所以我只是在寻求帮助。
更新
我已经实现了 TryParse
,但我希望接受前面带有或不带有 0
的十进制数字,即 0.234
或 .234
。我的新代码是这样的:
private void TextP1_TextChanged(object sender, EventArgs e)
{
bool isDouble = Double.TryParse(TextP1.Text, out P1);
if(isDouble == false)
{
MessageBox.Show("Text box only accepts positive number values", "Text entered into P1 is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
您可以使用这个正则表达式 [0-9]*\.[0-9]*
。 * 表示 0-9 可以出现 0 到 x 次。
您可以使用 regexr 快速测试正则表达式。