JAVA使用正則表達式提取微服務的名稱與版本號

分組表達式的應用

分組語法

(?\<name>exp)
匹配exp,並捕獲文本到名稱爲name的組裏,也能夠寫成(?'name'exp)正則表達式

demo

public static void main(String[] args){
        String path="userservice-v5";
        Pattern pattern=Pattern.compile("(?<name>^.+)-(?<version>v.+$)");
        Matcher m=pattern.matcher(path);
        if (m.find()){
            System.out.println("分組名稱:匹配的值");
            System.out.println("name:"+m.group("name"));
            System.out.println("version:"+m.group("version"));
        }
    }

運行結果:spring

分組名稱:匹配的值  
name:userservice  
version:v5

demo中表達式(?\<name>^.+)-(?<version>v.+$)匹配格式爲servicename-vversion的字符串,並將servicename放入分組name中,將version放入分組version app

在查看spring cloud zuul源碼時,看到PatternServiceRouteMapper源碼時,看到了使用正則表達式的用法,因此才查看分組的用法。 ide

相關文章
相關標籤/搜索