最大 4 位带或不带小数点后跟 N 或 S 的正则表达式

Regex for maximum 4 digit with or without decimal followed by N Or S

我需要一个正则表达式,它允许总共有 5 个字符 |Number 后跟 N 或 N。

准备好的正则表达式:

/^\h*(?:(?:\d|[1-9 ]{1,4})?)[NSns]$/gm

问题陈述:我无法向正则表达式添加小数点

有效输出:

1S
2N
1 S
1212S
1212s
1212N
1212n
1212n
121 n
121 N
121 s
121 S
12.22S
1.2N
12.2S
12.3 N

无效输出:

123456S
12343S
122.122
12334.12

你可以使用

^(?!(?:\D*\d){5})\s*\d+(?:\.\d{1,2})?\s*[NSns]$

regex demo详情:

  • ^ - 字符串开头
  • (?!(?:\D*\d){5}) - 字符串中不允许有五位数字
  • \s* - 零个或多个空格(如果需要保持在同一行,请使用 [^\S\r\n]*
  • \d+ - 一位或多位数字
  • (?:\.\d{1,2})? - . 和一位或两位数字的可选序列
  • \s* - 零个或多个空格
  • [NSns] - NSns
  • $ - 字符串结尾。