0

Ruby スクリプトで正規表現マッチングに使用される Java アプリケーション内の文字列をエスケープしようとしています。

Javaで使用しようとしましたが、接頭辞と接尾Pattern.quote(s)辞のみを追加しているようです。\Q\E

たとえば、これは Java アプリケーションからエスケープしたい文字列で、Ruby スクリプトに使用されます。

export PATH=/usr/local/eclipse:${JAVA_HOME}/bin:${PATH}

String.replace("/","\\/")、などはいつでも使用できると思いますがString.replace("$", "\\$")、もっと簡単な方法があればいいと思います。

4

2 に答える 2

0

Java は Ruby 正規表現の知識をあまり持っていないので、Ruby でこれを行う方がはるかに簡単で便利だと思います。

string_from_java = 'export PATH=/usr/local/eclipse:${JAVA_HOME}/bin:${PATH}'
escaped_string = Regexp.escape(string_from_java)
pattern = /someprefix#{escaped_string}somesuffix/
于 2013-10-26T22:20:54.363 に答える