美文网首页程序员
正则匹配及取值

正则匹配及取值

作者: 一家之主小书童 | 来源:发表于2018-04-10 21:05 被阅读0次

需求

匹配特定的uri,并获取uri的部分值。

解决方案

/**
     * 获得正则匹配的第一个字符
     *
     * @param regex 正则表达式
     * @param input 输入串
     * @return 第一个匹配的值
     */
    public static String groupOne(String regex, String input) {
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        matcher.find();
        return matcher.group(1);
    }

matcher.group(0) 为完整输入信息
matcher.group(1) 为匹配的第一组信息

示例

uri:/项目名/资源信息/
匹配该uri需要注意的就是uri 中的前面的'/'是最少1个,而最后一个'/'可以是0个
正则: (/+)项目名(/+)资源信息(/*)

uri:/项目名/资源信息/资源id
匹配该uri需要注意的就是uri 中的前面的'/'是最少1个,而最后一个'/'可以是0个 资源id不是个定值是个变量
正则: (/+)项目名(/+)资源信息(/+)(.*?)
. 代表任意字符。
+ 代表取1至无限长度
* 代表取0至无限长度。
? 代表的是非贪婪模式。
()代表

相关文章

网友评论

    本文标题:正则匹配及取值

    本文链接:https://www.haomeiwen.com/subject/jptccftx.html