字符集与模式不匹配

时间:2013-12-03 16:40:49

标签: regex

我正在尝试使用正则表达式来匹配以下内容:

我希望捕获所有后跟-然后是数字字符的字符。

例如,如果字符串为python-proj-5.0,我希望获得python-proj

我尝试了[^-0-9]*,但似乎只匹配-或数字字符,而不是-前面的数字字符。

1 个答案:

答案 0 :(得分:2)

这样的模式应该有效:

(.*)-[\d.]+

这将匹配在组1中捕获的零个或多个字符的任何序列,后跟连字符,然后是一个或多个数字或.个字符。

或使用前瞻:

.*(?=-[\d.]+)

这将匹配零个或多个字符的任何序列,后跟连字符,然后是一个或多个数字或.个字符。连字符和后面的数字不会包含在匹配中。