首页 > 解决方案 > 如何从右边排除第一个和第二个减号?

问题描述

我在上面有这个列表我正在 https://regex101.com/上使用正则表达式

BETA - Asia-926-5.6.6
BETA - Asia-926-5.5.7
BETA - AU-843-5.6.6
BETA - AU-843-5.5.7
BETA - East-Europe-500-5.6.6
BETA - East-Europe-500-5.5.7

我发现这个正则表达式[^0-9,.]排除了所有数字和点,但我不知道如何从右边排除第一个和第二个减号以获得这样的东西:

BETA - Asia
BETA - Asia
BETA - AU
BETA - AU
BETA - East-Europe
BETA - East-Europe

标签: regex

解决方案


您可以匹配最后 2 个连字符和数字模式,并将匹配替换为空字符串。

-\d+-\d+(?:\.\d+)+$
  • -\d+-匹配-, 1+ 位和-
  • \d+匹配 1+ 个数字
  • (?:\.\d+)+匹配 1+ 次点和 1+ 位
  • $字符串结束。

正则表达式演示

输出

BETA - Asia
BETA - Asia
BETA - AU
BETA - AU
BETA - East-Europe
BETA - East-Europe

推荐阅读