【问题标题】:Regular expression to allow first letter + or - or number允许首字母 + 或 - 或数字的正则表达式
【发布时间】:2018-03-19 22:00:47
【问题描述】:

我想要一个正则表达式,比如第一个字母应该是 + 或 - 或数字,如果是 - 或 +,后面的字母应该是数字,并且还允许 2 个小数点。如果输入+或-后面的字母就不行了。 (点)。

我正在尝试使用以下 reg ex,但很少有条件无法正常工作。

/^[+-]*\d*\.?\d?\d?/g;

【问题讨论】:

标签: regex


【解决方案1】:

您基本上希望您的字符串以数字开头,该数字可以以加号或减号为前缀,并且最多有 2 个小数点。

这个的正则表达式如下所示:

/^[+-]?\d+(?:\.\d{1,2})?$/
  1. [+-]?正则表达式允许字符串以 + 或减号开头,但不一定。
  2. \d+后面跟着一个数字。
  3. (?:\.\d{1,2})? 该数字可能有一个点,后面最多有两个数字。 (精度为 2)

【讨论】:

  • 在某人 cmets 之前:特殊字符不需要在或组中转义 ([])
  • 不工作。它允许我 1+++,1----,1.... 并且不允许在前面添加 + 或 -。
  • @Rafikmalek 因为这些字符串根据您的问题是正确的。字符串以数字开头。 +++---... 部分由 .* (4.) 分组,我无法确定,因为您没有在问题中指定它。 4. 根据您的要求调整以排除这些答案。
  • 不应该使用数字或+或-
  • @Rafikmalek 它以数字 1 开头 :-)
猜你喜欢
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 2021-10-02
  • 2012-07-21
  • 2019-06-30
相关资源
最近更新 更多