gpt4 book ai didi

java - 通过正则表达式查找没有外部 `{}` 的 `{}` 部分

转载 作者:行者123 更新时间:2023-11-30 11:45:31 25 4
gpt4 key购买 nike

题目不清楚,写个例子解释一下。

有一个字符串,里面嵌套了很多{}小号:

 /users/{<\w{2,4}\d{3}>id}

你可以看到我使用 {}作为路径变量的占位符,它内部可以有正则表达式,也可以有 {} .

如何用java写一个正则表达式来解析路径模式,找到{}没有外部的零件 {} .对于此示例,它应该是 {<\w{2,4}\d{3}>id} .

谢谢~

更新

给的例子太简单了,可以是:

/users/{<\w{2,4}\d{3}>id}/{action}/{<\w{2,4}\d{3}>targetId}

结果应该是:

{<\w{2,4}\d{3}>id}
{action}
{<\w{2,4}\d{3}>targetId}

所以 \\{.*\\}不起作用。

最佳答案

你会遇到/users/{regex1}/{regex2}这种情况吗?

如果是,在这种情况下 "\\{.*\\}" 将返回 "{regex1}/{regex2}"。 :(

如果 "\\{(.*)\\}" 不够好,贪婪的你会去寻找你要求的整个表达式。 ;)

编辑:

对于您编辑过的问题,上面@aix 的评论是正确的答案: Find the `{}` part which doesn't have outer `{}` by regex

他指出你的问题与那里解决的问题相似:Regular Expression to match outer brackets

关于java - 通过正则表达式查找没有外部 `{}` 的 `{}` 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10317660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com