使用正则表达式替换String

时间:2013-03-29 18:48:23

标签: java regex text replace

用Java中的正则表达式替换 - 我有一个字符串


    allof{
    condition {licenseState=="NY"}
    condition{professionId==301}
    condition  {professionId=="301"}
}

是否可以使用正则表达式在java中进行替换,因此字符串看起来像这样:



    allof{
    condition 'licenseState=="NY"', {licenseState=="NY"}
    condition 'professionId==301', {professionId==301}
    condition 'professionId=="301"', {professionId=="301"}
    }  

基本上得到{}括号内的内容并将其单独放置。有可能吗?怎么样?每种情况都不保证NewLine char存在。

我试过了:

condition\s*?{[a-zA-Z0-9=<>\s"']*} 

2 个答案:

答案 0 :(得分:1)

您可以使用string replaceAll功能。像这样:

yourString.replaceAll("\\{([^{}]*\\=\\=[^{}]*)\\}", "'$1', {$1}");

答案 1 :(得分:1)

假设没有嵌套{}

str = str.replaceAll( "(?<=condition)\\s*(\\{([^}]+)\\})", " '$2', $1" );