我需要一个验证3种不同情况的正则表达式:
点可以用逗号替换
我有类似[F|F/S]?\d*[\,.]\d*
的内容,但我不能让第三种情况起作用
任何帮助将不胜感激!
答案 0 :(得分:1)
您可以使用可选组,而不是字符类:
(?:F(?:/S)?)?\d*[,.]\d+
^^ ^^ ^^^^
请参阅regex demo
如果您需要匹配整个字符串,请在^
和$
附近添加锚点:^(?:F(?:/S)?)?\d*[,.]\d+$
。
详细:
(?:F(?:/S)?)?
- 一个可选的F
,可选择跟随/S
\d*
- 0位数(如果您预计至少有1位数,请将*
替换为+
)[,.]
- 逗号或点\d+
- 1+位。