我在接口(只是为了保存常量)中有Spring MVC URL的定义,例如:

String URL_X = "/my-url/{id:[0-9]*}";
String URL_Y = "/my-url/{id:[0-9]*}/blah-blah";

我有一种方法可以替换URL中的变量进行测试:

private static final String REGEX_PARAMETROS_DA_URL = "(\\{[^\\}]*\\})";
protected String replaceParametersOnURL(String urlSpring, String... params) {
String urlAtual = urlSpring;
for (String parametro : params) {
urlAtual = urlAtual.replaceFirst(REGEX_PARAMETROS_DA_URL, parametro);
}
return urlAtual;
}

我正在使用此正则表达式:(\{[^\}]*\})匹配变量并将其替换。
但是现在我有一些带有{}的URL,并且我找不到合适的正则表达式来用我的值替换变量。

Spring上是否有任何方法可以替代PathVariable值,或者有人可以通过此正则表达式来帮助我吗?

例如,给定此URL:

/pessoajuridica/{cnpj:[0-9]{14}}-{slug:[a-zA-Z0-9-]+}/sancoes/resumo

匹配项必须为:{cnpj:[0-9]{14}}{slug:[a-zA-Z0-9-]+}

java - 正则表达式替换Spring @RequestMapping URL中的@PathVariable值的更多相关文章

  1. java基础知识 学习 关于URL中传递的参数含有特殊字符

    有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码                                   ...

  2. js获取页面url中的各项值

    一. 通过window.location获取各项参数 1.获取页面完整的url url = window.location.href; 2.获取页面的域名 host = window.location ...

  3. C#获取url中参数键值对的方法

    方法如下: /// <summary> /// 遍历Url中的参数列表 /// </summary> /// <returns>如:(?userName=keley ...

  4. js获取URL中指定的值

    function getSearchString(key) { // 获取URL中?之后的字符 var str = location.search; str = str.substring(1,str ...

  5. [改善Java代码]不要在finally块中处理返回值

    在finally代码块中处理返回值,这是在面试题中经常出现的题目.但是在项目中绝对不能再finally代码块中出现return语句,这是因为这种处理方式非常容易产生"误解",会严重 ...

  6. C语言定义从URL中获取键值的接口

    环境:centos7下,对客户端http请求进行解析,来获取有效键值(包括汉字). 头文件 /* 这是一份关于从Http请求信息中提取键值的接口声明的头文件 */ #ifndef _HEAD_H_ # ...

  7. 利用pandas映射替换两个字典中的映射值

    在公司处理报表,中英文映射表与数值表替换 import pandas as pd data = { "a":"值一", "b":" ...

  8. js java正则表达式替换手机号4-7位为星*号

    需求: 一个手机号13152461111,由于安全性,需要替换4-7位字符串为星号,为131****1111,那么有2中玩法,一种是前端隐藏,一种是后台隐藏. 1. 前台隐藏 <!DOCTYPE ...

  9. Java泛型在spring jdbc template中的类似应用

    泛型的使用保证返回的对象类型的正确: package com.stono.gentest; import java.util.ArrayList; import java.util.List; pub ...

  10. java正则表达式替换空格和换行符

    public class StringUtil {        public static String getStringNoBlank(String str) {            if(s ...

随机推荐

  1. .Net 的扩展方法

    // 扩展方法 // ps:js中的扩展方法 比如 给数组定义一个自定义的全局的方法 使用 prototype (原型链) // .Net 给 string 添加一些扩展方法 String 是一个密封 ...

  2. C# 如何理解装箱和拆箱 ?

    装箱和拆箱就是C# 中数据类型的转换 : 装箱:值类型转换对象类型(引用类型,复杂类型) 拆箱:对象类型转换值类型 object obj=null; //引用类型 obj=1; //装箱 boxing ...

  3. 05 Transformer 中的前馈神经网络(FFN)的实现

    2:20:理论链接 博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链 ...

  4. 让容器通信变得简单:深度解析 Containerd 中的 CNI 插件

    作者:尹珉,KubeSphere Ambassador & contributor,KubeSphere 社区用户委员会杭州站站长. 引言 在上一篇文章中,我们详细讨论了 Kubernetes ...

  5. Saas多租户数据权限设计(参考RuoYi)

    导航 引子 场景梳理 基于角色的访问控制(RBAC) 多租户系统的权限设计 RuoYi系统的数据权限设计 最终设计方案 参考 本文首发<智客工坊-Saas多租户数据权限设计(参考RuoYi)&g ...

  6. 通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀

    1.前言 我是一位运维工程师,用通义灵码个人版的@workspace 和 @terminal 的能力做快速了解一个工程.查找工程内的实现逻辑,以及执行指令不知道如何写,或者不清楚某个指令的意思,对比之 ...

  7. Rest-Assured 学习笔记

    Rest-Assured 学习笔记 body { font-family: Arial, sans-serif } .container { } h1, h2, h3 { color: rgba(51 ...

  8. OpenFeign简单使用

    OpenFeign入门 什么是 OpenFeign? OpenFeign是一个远程访问的组件,用于两个微服务之间互相访问的中间件 OpenFeign使用步骤 1.添加OpenFeign的依赖 < ...

  9. MoeCTF2024--Crypto--Week1&Week2

    MOECTF (CRYPTO) Week1: 1.入门指北 题目: from Crypto.Util.number import bytes_to_long, getPrime from secret ...

  10. 狗的名字 ATCOER-ABC-171-C One Quadrillion and One Dalmatians

    狗的名字 ATCOER-ABC-171-C One Quadrillion and One Dalmatians 题目链接 我们可以将名字看成26进制的数,就可以转化为将一个10进制转26进制的数的问 ...