0

Java での正規表現による置換 - 文字列があります

    すべての{
    状態 {licenseState=="NY"}
    状態{professionId==301}
    状態 {professionId=="301"}
}

正規表現を使用してJavaで置換を行うことは可能であるため、文字列は次のようになります。


    すべての{
    条件 'licenseState=="NY"', {licenseState=="NY"}
    条件「professionId==301」、{professionId==301}
    条件 'professionId=="301"', {professionId=="301"}
    }  

基本的に {} ブラケット内にあるものを取得し、個別に配置します。それは可能ですか?NewLine char は、各条件の後に存在するとは限りません。

私はもう試した:

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

2 に答える 2

1

文字列 replaceAll関数を使用できます。このようなもの:

yourString.replaceAll("\\{([^{}]*\\=\\=[^{}]*)\\}", "'$1', {$1}");
于 2013-03-29T18:53:38.083 に答える
1

ネストされていないと仮定{}

str = str.replaceAll( "(?<=condition)\\s*(\\{([^}]+)\\})", " '$2', $1" );
于 2013-03-29T18:58:01.057 に答える