正则表达式

  • 懒惰量词】在量词后面加?,如nickName=(.*?)
public static void main(String[] args) {
        String a = "https://www.xxx.com?nickName=汉武帝&";
        Pattern pattern = Pattern.compile("nickName=(.*?)(&|$)");
        Matcher matcher = pattern.matcher(a);

        if (matcher.find()) {
            for (int i = 0; i <= matcher.groupCount(); i++) {
                System.out.println("--------------");
                System.out.println(matcher.group(i));
            }
        }
    }
  • 分组命名】在左括号后跟?<名称>,如nickName=(?<nickName>.*?)
public static void main(String[] args) {
    String a = "https://www.xxx.com?nickName=汉武帝&";
    Pattern pattern = Pattern.compile("nickName=(?<nickName>.*?)(&|$)");
    Matcher matcher = pattern.matcher(a); // testURL

    if (matcher.find()) {
        System.out.println(matcher.group("nickName"));
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容