首页 > 解决方案 > 用于查找特定字符串的 Java 正则表达式

问题描述

我有一个带有长字符串的文件,我想按特定项目拆分它,即

String line = "{{[Metadata{"this, is my first, string"}]},{[Metadata{"this, is my second, string"}]},{[Metadata{"this, is my third string"}]}}"

String[] tab = line.split("(?=\\bMetadata\\b)");

所以现在当我迭代我的选项卡时,我会得到从 word 开始的行:"Metadata"但我想要从以下开始的行:

"{[Metadata"

我试过类似的东西:

 String[] tab = line.split("(?=\\b{[Metadata\\b)");

但它不起作用。任何人都可以帮助我如何做到这一点,好吗?

标签: javaregex

解决方案


您可以使用

(?=\{\[Metadata\b)

在 regex101.com 上查看演示


请注意,反斜杠需要转义,Java以便它变为

(?=\\{\\[Metadata\\b)

推荐阅读