使用RegEx

时间:2016-07-13 22:16:45

标签: regex groovy

my_input_string = "something Apache/2.3.4 more stuff PHP/4.5.6 other stuff"

我要捕获的输出是2.3.4(它应该查找'Apache/'并在此之后获取版本。版本号可能更短或更长,如2.3或2.3.4.5(任何一组数字与我之间看过其他文章,但最近的文章有3个输出。我只想要一个。

我一直在搜索Google并使用RegEx101.com和RegExr.com,但有点试错。

我看到了这个:Apache\/(\d+\.)?(\d+\.)?(\*|\d+)$但它似乎输出了3个单独的输出,它只能用2和3个数字而不是4个。我试着更改括号但没有运气。

我的最终结果将是Groovy脚本。

1 个答案:

答案 0 :(得分:0)

请考虑以下事项。

编辑:它现在捕获一个数字,然后是一组重复的数字和"。",其中该组可能有零个或多个这样的字符:

​def my_input_string = "something Apache/2.3.4 more stuff PHP/4.5.6 other stuff"
def regex = /.*Apache\/(\d[\d\.]*) .*/
def matcher = (my_input_string =~ regex)
println matcher[0][1]​