Java 正则表达式,如果为';它在一个特定的图案中
我有一个自定义字符串,它是多个项目的流式版本。项目可以是整数、字符串和每个项目所在的字符串列表 分别由I、S、L表示Java 正则表达式,如果为';它在一个特定的图案中,java,regex,Java,Regex,我有一个自定义字符串,它是多个项目的流式版本。项目可以是整数、字符串和每个项目所在的字符串列表 分别由I、S、L表示 For eg: String d = "I:123;S:345;L:{S:45;S:67;S:789};I:23"; 我正在尝试编写一个正则表达式,它可以拆分这个字符串,并应产生4项 1. I:123, 2. S:345, 3.L:{s:45;s:67;s:789}; ,4:I:23 如果我只是根据;然后它将拆分列表中不应该出现的项。然后我尝试编写一些复杂的正则表达式,但没
For eg: String d = "I:123;S:345;L:{S:45;S:67;S:789};I:23";
我正在尝试编写一个正则表达式,它可以拆分这个字符串,并应产生4项
1. I:123, 2. S:345, 3.L:{s:45;s:67;s:789}; ,4:I:23
如果我只是根据;然后它将拆分列表中不应该出现的项。然后我尝试编写一些复杂的正则表达式,但没有任何效果
有人能给点提示吗?你应该使用惰性量词:
(.+?);(.+?);(.*)
链接:
String[] arr = str.split(";(?![^{}]*})");
详细信息:
代码>:匹配文字
代码>
:负前瞻,以确保在非(?![^{}]*}
和{
字符之后没有}
}
I:23
不应该是一个单独的项目?@anubhava纠正了这个问题。感谢您指出这是在@anubhavaThanks man的评论之前。这真的奏效了。我一定会考虑买你的书;