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脚本。
答案 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]