2012-01-19 7 views
1

\Q\EをJava正規表現でマッチさせたいと思います。 私はパターンにマッチする文字列の長さを計算するプログラムを書いています(このプログラムでは、{some number}以外の正規表現には何も指定されていないので、文字列の長さが一意に定義されています)最初に\Qsome text\Eのようなすべての式を削除します。このような しかし、正規表現: Java正規表現で Qと Eをどのように一致させるのですか?

"\\Q\\Q\\E\\Q\\E\\E" 

は明らかに動作しません。

答えて

4

Pattern.quote(...)

String s = "\\Q\\Q\\E\\Q\\E\\E"; 
String escaped = Pattern.quote(s); 
4

バックスラッシュをエスケープするだけです。

"\\\\Q" 

をリテラル\Eを一致させるために:そうリテラル\Qに一致するように、文字通りのバックスラッシュにマッチし\\\\シーケンス

"\\\\E" 

あなたは、それが明らかにすることによりメンテナのためにそれをより読みやすくすることができます各シーケンスは、[...]を使用して1文字に一致します。

"[\\\\][Q]" 
関連する問題