我正在尝试使用正则表达式来匹配以下内容:
我希望捕获所有后跟-
然后是数字字符的字符。
例如,如果字符串为python-proj-5.0
,我希望获得python-proj
。
我尝试了[^-0-9]*
,但似乎只匹配-
或数字字符,而不是-
前面的数字字符。
答案 0 :(得分:2)
这样的模式应该有效:
(.*)-[\d.]+
这将匹配在组1中捕获的零个或多个字符的任何序列,后跟连字符,然后是一个或多个数字或.
个字符。
或使用前瞻:
.*(?=-[\d.]+)
这将匹配零个或多个字符的任何序列,后跟连字符,然后是一个或多个数字或.
个字符。连字符和后面的数字不会包含在匹配中。