You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java正则表达式提取目标UUID失败,求正确匹配规则

解决提取指定UUID的正则问题

给定目标字符串:

networks[0]/site[9785d8e8-9b1f-3fc0-8271-6e32f58fb725]/equipment/location[144ae20e-be33-32e2-8b52-798e968e88b9]

需要提取site后的UUID:9785d8e8-9b1f-3fc0-8271-6e32f58fb725。

原正则问题分析

你写的.*\/([^\/]+)\[.*\]$之所以返回location,是因为.*是贪婪匹配,会直接匹配到字符串最后一个/,此时捕获组([^\/]+)对应的就是最后一个/和[之间的location,完全偏离了目标。

正确的正则表达式

以下几种正则都可以实现需求,按场景选择:

  1. 精准定位site后的内容(推荐,最直接)
site\[([^\]]+)\]
  • 逻辑:site\[匹配固定前缀site[,([^\]]+)捕获所有]之前的字符(即目标UUID),\]匹配闭合的]。匹配后取第一个捕获组的内容即可。
  1. 全字符串匹配
.*site\[([^\]]+)\].*
  • 逻辑:用.*匹配site前后的任意内容,核心还是捕获site[]内部的UUID,同样取第一个捕获组结果。
  1. 严格匹配UUID格式(避免误抓非UUID内容)
site\[([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\]
  • 逻辑:针对UUID的8-4-4-4-12十六进制字符格式做精确匹配,只有符合UUID规则的内容才会被捕获,安全性更高。

内容的提问来源于stack exchange,提问作者gan7202

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:45:31