特异性正则表达式

时间:2016-10-31 14:00:20

标签: regex

我需要一个验证3种不同情况的正则表达式:

  1. 99.99
  2. F99.9
  3. F / S99.9
  4. 点可以用逗号替换

    我有类似[F|F/S]?\d*[\,.]\d*的内容,但我不能让第三种情况起作用

    任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您可以使用可选组,而不是字符类:

(?:F(?:/S)?)?\d*[,.]\d+
^^   ^^  ^^^^         

请参阅regex demo

如果您需要匹配整个字符串,请在^$附近添加锚点:^(?:F(?:/S)?)?\d*[,.]\d+$

详细

  • (?:F(?:/S)?)? - 一个可选的F,可选择跟随/S
  • \d* - 0位数(如果您预计至少有1位数,请将*替换为+
  • [,.] - 逗号或点
  • \d+ - 1+位。