多个数字变体的正则表达式 + 字母数字后缀

标签 regex

我如何编写一个正则表达式模式来匹配 float 和整数的所有变体(由点或逗号分隔)与两个字符的字母数字后缀(带空格或不带空格)在长文本中是这样的:

34MB
34 MB
34.3MB
34,3MB
34.30MB
34,30MB
34,30 MB
5MB
5 MB
1.024MB
1.024 MB
1,024MB
10,67MB
10.67MB

这可能吗?我尝试过类似的方法但没有用

/(\d+(.|,\d+)?\s\MB|KB|GB|TB)/

最佳答案

也许这可以解决问题:

(\d+(?:[.,]\d+)?)\s?([MKGT]B)

编辑: 尊重@FailedDev 的帖子,您可以附加 \b 来匹配单词边界。因此,它不会匹配 1200MBPS,而是 1200MB

关于多个数字变体的正则表达式 + 字母数字后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246882/

相关文章:

python - 调用 re.compile 时什么属性返回正则表达式?

regex - 如何在grep中进行非贪婪匹配?

javascript - "?:^"正则表达式是什么意思?

Javascript 正则表达式拆分拒绝 null

javascript - javascript 中的负面回顾

javascript - 匹配由给定集合中的子串组成的字符串

java - 使用正则表达式验证冒号分隔的输入

PHP mysql REGEXP 准备语句

javascript - 如何解析具有重复名称的嵌套大括号 { } 形式的数据?

python - 简单的正则表达式困惑