匹配数字和一个字符串的正则表达式模式

Regex pattern to match number and only one string

我是正则表达式的新手,我想验证为数字和一个字符串 (M|m|T|t|B|b) 创建一个验证器模式。

这是我试过的/^\d*|(M|m|T|t|B|b){1}

但是我无法创建它。这些是我要通过的测试标准

1234b > pass
1234B > pass
.124b > pass
0.123 > pass
1234bb > fail
12345e > fail

有人可以帮忙吗?

试试这个正则表达式:

(?:\d*\.\d+|\d+)[MTBmtb]{0,1}\b

Click for Demo

解释:

  • \d*\.\d+ - 匹配 0+ 位后跟小数后跟 1+ 出现的数字
  • | - 或者
  • \d+ - 匹配 1+ 个数字
  • [MTBmtb]{0,1} - 匹配 0 次或 1 次出现的任一字母 - MTBmt, b
  • \b - 单词边界