【问题标题】:Regular Expression which allows only one dot and digits WPF [duplicate]正则表达式,它只允许一个点和数字 WPF [重复]
【发布时间】:2018-05-27 16:27:04
【问题描述】:

我有一个文本框,它应该只允许一个点,并且点后至少有一个数字。

例如:1 和 1.2。如果我输入 1。它应该是 1。

33.0、33、55.23、55.6、

我尝试了以下正则表达式,但它不允许点。

它应该只允许文本框中的一个点以及数字。

【问题讨论】:

  • 您能否提供更多示例/详细说明您希望与您的正则表达式匹配的内容?
  • 你确定你需要一个正则表达式吗? Double.TryParse 可能满足您的需求吗?
  • 文本框应该只允许数字和一个点(.)
  • 从你的正则表达式看来,你也想允许空格,不是吗?
  • 不想留任何空间

标签: regex wpf


【解决方案1】:

要确保您的文本框只能包含一个数字,可以选择后跟一个句点和 1 个或多个数字,请使用:

^\d+(\.\d+)?$

要允许可选的尾随或前导空格,请使用:

^ ?\d+(\.\d+)? ?$

【讨论】:

  • 那么23.65 呢?在第一个 \d 之后添加一个量词,例如 \d+
  • 正则表达式 regex = new Regex("^\\d+(\\.\\d+)?$");它不允许点。
  • private void _textBoxPreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e) { Regex regex = new Regex("^\\d+(\\.\\d+)?$"); e.Handled = !regex.IsMatch(e.Text); }
  • @Geeth 很抱歉,我无法在 wpf 中进行测试。提供的正则表达式将匹配 11.233.03355.2355.6。你需要它来匹配.吗?
猜你喜欢
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多