如何使用Java正则表达式将字符串按双花括号外的破折号分割? -火山引擎

面向开发者的云福利中心,ECS9.9元起,域名1元起,助力开发者快速在云上构建应用

.com域名注册

1元域名限时补贴,实名认证即享
1 .00 /首年 56.00/首年
新客专享 限购1个

veImageX流量资源包100G

抵扣图片服务产生的内容分发流量
1 .00 /6月 21.00/6月
新客专享 限购1个

CDN/DCDN国内流量包100G

同时抵扣两种流量消耗,加速分发更实惠
2 .00 /年 20.00/年
新客专享 限购1个

云服务器1核2G

配备40G磁盘与1M带宽,满足多场景使用
9 .90 /月 101.00/月
新客专享 限购1台

如何使用Java正则表达式将字符串按双花括号外的破折号分割? -相关文档

可以使用正则表达式 "\s*-(?!\{[^\}] $)" 来进行分割。这个正则表达式包含两部分:首先是 "\s -",表示匹配 0 个或多个空格后的破折号;然后是 "(?!\{[^\}]*$)",表示这个破折号后面不应该是最外层的双花括号。这个部分使用了负向零宽断言,即不匹配括号内的内容。

以下是一个使用这个正则表达式分割字符串的示例代码:

String str = "a - b - {c - d} - e - {f - g - {h - i}} - j";
String[] parts = str.split("\\s*-(?!\\{[^\\}]*$)");
for (String part : parts) {
    System.out.println(part.trim());

运行结果如下:

{c - d} {f - g - {h - i}}
免责声明
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系 service@volcengine.com 进行反馈,火山引擎收到您的反馈后将及时答复和处理。

如何使用Java正则表达式将字符串按双花括号外的破折号分割? -优选内容

如何使用Java正则表达式将字符串按双花括号外的破折号分割? -相关内容

火山引擎最新活动

新用户特惠专场
云服务器9.9元限量秒杀
查看活动
数据智能VeDI
易用的高性能大数据产品家族
了解详情
火山引擎·增长动力
助力企业快速增长
了解详情
火种计划
爆款增长产品免费试用
了解详情