私はすべての特殊文字をエスケープしたいSQLクエリです。だから私は、Th1正規表現を作成しました:Java regexからOracle SQLの特殊文字をエスケープする
Pattern p1 = Pattern.compile("\\{ | \\} | \\\\ | \\, | \\& | \\? |"
+ " \\(| \\) | \\[ | \\] | \\- | \\; | \\~ | \\| | \\ $ | "
+ "\\! | \\< | \\> | \\* | \\% | \\_");
Matcher m1=p1.matcher(s);
は今、私はそれがすべての一致を反復処理し、その前に「\」文字を入れたいです。たとえば、文字列が:aa%aa $ aaの場合、それはaa \%aa \ $ aaになります。これどうやってするの?
System.out.println("abcdef".replaceAll("[a-c]", "\\\\$0"));
が
\a\b\cdef
注の過剰な数を生成し、例えば
myString.replaceAll(myPattern, "\\\\$0")
:
THXなる与えます – czadam