Regex 后跟字符串的十进制正则表达式

Regex 后跟字符串的十进制正则表达式,regex,string,numbers,Regex,String,Numbers,我需要一个匹配以下示例的正则表达式 251.51 Kb 232.113 Mb 35 ss 325.10323 sd 23 hhh 33ffg 所以,基本上,任何十进制数后跟1个字母字符串。在这2个之间忽略空格。您的正则表达式将是 ^\s*\d+(?:\.\d+)?\s*[a-zA-Z]+$ 说明: ^断言我们处于起点 \s*匹配零个或多个空格 \d+匹配一个或多个数字 (?:\。\d+)可选前面有点的一个或多个数字 \s*匹配零个或多个空格 [a-zA-Z]+匹配一个或多个字

我需要一个匹配以下示例的正则表达式

251.51 Kb
232.113 Mb
35 ss
 325.10323 sd
  23    hhh
33ffg
所以,基本上,任何十进制数后跟1个字母字符串。在这2个之间忽略空格。

您的正则表达式将是

^\s*\d+(?:\.\d+)?\s*[a-zA-Z]+$

说明:

  • ^
    断言我们处于起点
  • \s*
    匹配零个或多个空格
  • \d+
    匹配一个或多个数字
  • (?:\。\d+)
    可选前面有点的一个或多个数字
  • \s*
    匹配零个或多个空格
  • [a-zA-Z]+
    匹配一个或多个字母表
  • $
    行尾
试试这个

([0-9]+(\.[0-9]+)?(\s+)?[a-zA-Z])
您可以使用:

^\s*((?:\d+\.\d+)|(?:\d+))(?:\Z|\D)

或者,如果您只想匹配一个数字(后跟字母或空格),则字母:

^\s*((?:\d+\.\d+)|(?:\d+))(?:\s*[a-zA-Z])