使用RegEx进行Java字符串拆分

时间:2017-04-25 22:00:08

标签: java regex

我想使用Regex拆分字符串,我想在java中使用该正则表达式。下面的正则表达式部分工作,但它不包括花括号。

String to Split: /opt/app/{YYYY}/{MM}/{DD}/{/Xpath/sub/tree}/Archive
RegEx: {(.*?)}
Expected Output: 
/opt/app/
{YYYY}
{MM}
{DD}
{/Xpath/sub/tree}
/Archive

这里的想法是我想在{}之间替换数据并重新构造字符串。我也对任何其他建议持开放态度。

1 个答案:

答案 0 :(得分:-1)

您可以使用此正则表达式进行拆分:

/(?=\{)|(?<=})/

在Java中:

String[] arr = input.split("/(?=\\{)|(?<=})/");

RegEx Demo

RegEx分手:

  • / - 匹配文字/
  • (?=\{) - 预见下一个字符为{
  • | - 或
  • (?<=}) - Lookbehind断言前一个字符是}
  • / - 匹配文字/